The WordPress Importer will import the following content from a WordPress export file:
- Posts, pages and other custom post types
- Custom fields and post meta
- Categories, tags and terms from custom taxonomies
For further information and instructions please see the Codex page on Importing Content
The importer has a couple of filters to allow you to completely enable/block certain features:
import_allow_create_users: return false if you only want to allow mapping to existing users
import_allow_fetch_attachments: return false if you do not wish to allow importing and downloading of attachments
import_attachment_size_limit: return an integer value for the maximum file size in bytes to save (default is 0, which is unlimited)
There are also a few actions available to hook into:
import_start: occurs after the export file has been uploaded and author import settings have been chosen
import_end: called after the last output from the importer
- Help! I’m getting out of memory errors or a blank screen.
If your exported file is very large, the import script may run into your host’s configured memory limit for PHP.
A message like “Fatal error: Allowed memory size of 8388608 bytes exhausted” indicates that the script can’t successfully import your XML file under the current PHP memory limit. If you have access to the php.ini file, you can manually increase the limit; if you do not (your WordPress installation is hosted on a shared server, for instance), you might have to break your exported XML file into several smaller pieces and run the import script one at a time.
For those with shared hosting, the best alternative may be to consult hosting support to determine the safest approach for running the import. A host may be willing to temporarily lift the memory limit and/or run the process directly from their end.
Notice: wp_get_http is deprecated since version 4.4.0! Use WP_Http instead.
I tried 3 other highly rated importers and none would support the xml exported from a WordPress.com site. Finally this one worked.
- Add support for import term metadata.
- Fix bug that caused slashes to be stripped from imported content.
- Fix bug that caused characters to be stripped inside of CDATA in some cases.
- Fix PHP notices.
- Add wp_import_existing_post filter. See: https://core.trac.wordpress.org/ticket/33721
- Support for WXR 1.2 and multiple CDATA sections
- Post aren’t duplicates if their post_type’s are different
- Double check that the uploaded export file exists before processing it. This prevents incorrect error messages when
an export file is uploaded to a server with bad permissions and WordPress 3.3 or 3.3.1 is being used.
- Import comment meta (requires export from WordPress 3.2)
- Minor bugfixes and enhancements
- Map comment user_id where possible
- Import attachments from
- Upload attachments to correct directory
- Remap resized image URLs correctly
- Use an XML Parser if possible
- Proper import support for nav menus
- … and much more, see Trac ticket #15197
- Initial release