Directly Import Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Import posts and related records directly from another WordPress site. To use this plugin, it must be installed on both sites and you must have admin access to both sites. The tool imports one post at a time along with any related posts, terms, users and/or attachments. It attempts to update attachment IDs and URLs on-the-fly and has built-in support for ACF repeatable fields. Below are some details on how to use the plugin.
Export Site
- If you will not be doing any imports from this site, check the Disable Imports option on the Settings screen.
- Uncheck the Disable Exports option on the Settings screen.
- Copy the Export URL and add it to the import site (details below).
- Use the Regenerate API Key button to generate a new API key and URL. The new URL will need to be added to the import site each time.
Import Site
- Make sure taxonomies that will be imported are setup on the import site, otherwise those taxonomy terms will not be imported.
- Backup the uploads folder and the entire database and make sure they can be easily restored if you have to re-run the import.
- On the Import screen, add the Export URL (details above) to the Add Site box and click on the Add Site button.
- Click on the Check Posts button to get a summary of available posts from the export site.
- Click on the Import Remaining button next to the post type you would like to import. This processes one post at a time via AJAX and the import can be stopped any time by simply refreshing the page.
- Once all of the posts for the selected post type are imported, the page will refresh and the process can be repeated for any other post types that need to be imported. Remaining attachments should be imported last.
Filter Hooks
The following filter hooks can be added to the import site if necessary. They are not used directly on the export site:
diim_import_post_type
Check to see if the current post should be imported based on its post type.
@param boolean $import False by default.
@param string $base_post_type Post type being processed.
@param string $current_post_type Post type for the current post.
@return boolean True if the current post should be imported.
diim_post_meta_contains_html
Filters the post meta keys that contain HTML content.
@param array $keys Meta keys for values that contain HTML content.
@return array Modified array of meta keys.
diim_post_meta_contains_urls
Filters the post meta keys that contain post URLs.
@param array $keys Meta keys for values that contain post URLs.
@return array Modified array of meta keys.
diim_post_meta_ignore
Filters the post meta keys and prefixes that should be ignored.
@param array $keys_and_prefixes Meta keys and prefixes that should be ignored.
@return array Modified array of meta keys.
diim_post_meta_post_ids
Filters the post meta keys that contain post IDs.
@param array $keys Meta keys for values that contain post IDs.
@return array Modified array of meta keys.
diim_post_meta_rename
Filters the post meta keys that should be renamed before being imported.
@param array $keys Meta keys that should be renamed before being imported.
@return array Modified array of meta keys.
diim_post_meta_term_ids
Filters the post meta keys that contain term IDs.
@param array $keys Meta keys for values that contain term IDs.
@return array Modified array of meta keys.
diim_post_meta_user_ids
Filters the post meta keys that contain user IDs.
@param array $keys Meta keys for values that contain user IDs.
@return array Modified array of meta keys.