You don't have javascript enabled. Good luck with that. KrishaStore

Post Type Transfer

This guide explains the Post Type Transfer plugin. Please review it before installation. For support, contact [email protected].

Introduction

Post Type Transfer is a feature-rich WordPress plugin that helps you easily convert posts, pages, and custom post types directly from the post editor, Quick Edit, or Bulk Edit screens. It supports all registered WordPress post types, including WooCommerce products, CPT UI, and ACF post types, while preserving content, metadata, taxonomies, and custom fields. The plugin also includes CSV import/export, content visibility controls, and translation-ready support, making content management faster and more efficient.

Post Type Transfer Pro extends these capabilities with bulk transfers, selective enablement, and advanced taxonomy management, giving you greater control over how content is organized and migrated across your website. Whether you're restructuring a website, cleaning up content, or managing large-scale migrations, the plugin helps streamline your workflow while maintaining content integrity.

In addition, the Pro version includes powerful post duplication and drag-and-drop reordering features, allowing you to quickly organize and manage content. It is fully compatible with popular page builders such as Elementor, WPBakery, and Divi, supports multilingual websites powered by WPML and Polylang, and works seamlessly across WordPress Multisite networks, making it a complete solution for content transfer, duplication, and organization.

Key Features
  • Convert posts, pages, and custom post types directly from the editor or Quick Edit screen.
  • Enable transfer options only for selected post types.
  • Transfer multiple posts between post types in bulk.
  • Works with WooCommerce, CPT UI, ACF, and all registered WordPress post types.
  • Keep content, metadata, taxonomies, and custom fields intact during transfers.
  • Import and export content using CSV files.
  • Control content visibility across different areas of your website.
  • Transfer multiple posts between post types in bulk.
  • Manage categories, tags, and custom taxonomies during transfers.
  • Organize content with drag-and-drop reordering and automatic sorting.
  • Duplicate posts with their content, metadata, taxonomies, and featured images.
  • Fully compatible with WordPress multisite installations.

System Requirements

Before installing Post Type Transfer Pro, please ensure the following requirements are met:

  1. WordPress version 6.3 or higher
  2. PHP version 8.2 or higher
  3. MySQL version 5.7 or higher OR MariaDB version 10.2 or higher

Note:

If you are using Post Type Transfer Pro, you must first install and activate the free version of the Post Type Transfer plugin. After activating the free plugin, install and activate the Pro version to access all premium features.

It is always recommended to keep your WordPress, PHP, and MySQL/MariaDB versions up to date for security and performance reasons.

Downloading & Installation

You can purchase the Post Type Transfer Pro plugin from KrishaStore. After purchasing, you will receive a .zip file containing the plugin. You can install the plugin using one of the following methods:

Install via WordPress Admin Panel (Free)

  1. Log into WordPress admin panel and click on plugins
  2. Click on Add New Plugin, type Post Type Transfer in search box
  3. Find Post Type Transfer in the results and click the Install button
  4. Activate the plugin

Upload via WordPress Admin Panel (Pro)

  1. Log into WordPress admin panel and click on plugins
  2. Click on Add New Plugin, then click on Upload Plugin
  3. Select the .zip file which you have downloaded and click Install
  4. Enter your FTP information if required and install the plugin
  5. Activate the plugin

Upload via FTP

  1. Unzip the .zip file you have downloaded.
  2. Upload the Post Type Transfer Pro plugin folder to your wp-content/plugins directory.
  3. Navigate to your Admin Panel: Plugins.
  4. Under Post Type Transfer Pro, click Activate.

Activate Pro License

License Key Management

When you purchase the Post Type Transfer Pro plugin from the KrishaStore website, your license key is available in the My Account section on the front-end dashboard. This license key is required to activate Pro features within your WordPress admin panel.

Once the admin enters a valid license key, the user can access and use all the Pro features of the Post Type Transfer Pro plugin.

The subscription remains active until the end of the current billing cycle, even if you choose to cancel it.

ptt-license-activation

Subscription Behavior

  1. The cancel subscription option is available in your front-end account dashboard.
  2. Clicking Cancel Subscription will not immediately deactivate your license.
  3. You can continue using all Pro features until the end of your current billing period.

Activating Your License Key

Follow these steps to activate your Post Type Transfer Pro license from the WordPress admin panel:

ptt-license-activation-backend

Step 1: Copy License Key

  1. Log in to your account on the KrishaStore website.
  2. Navigate to the My Account page.
  3. Locate your purchased product (Post Type Transfer Pro).
  4. Copy the License Key.

Step 2: Open License Settings in WordPress

  1. Log in to your WordPress Admin Dashboard.
  2. In the left-hand menu, go to: Post Type Manager → License

Step 3: Enter License Key

  1. On the Activate Your License screen:
  2. Locate the License Key input field.
  3. Paste the copied license key into the field.
  4. Click on the Activate License button.

Step 4: Verify Activation

Once activated, you will see:

  1. License Status: Active
  2. Activated URL: Your website URL
  3. Deactivate License: You can deactivate the license anytime using the Deactivate License button.

This process ensures that your Post Type Transfer Pro plugin is fully activated and ready to use with all premium features.

How to Transfer Content

Once the Post Type Transfer plugin is activated, you can transfer any post to other post type from the post editor.


Method 1: Post Editor Option

Follow the steps below:

  • Log in to your WordPress Admin Dashboard.
  • Go to Posts → All Posts (or any other post type you want to edit).
  • Click Edit on the post you want to transfer.
  • In the post editor, look at the right-hand sidebar and make sure the Post tab is selected.
  • Scroll down until you find the Post Types section.
  • Click the dropdown and select the new post type you want to convert the content to (e.g., Page).
  • After selecting the new post type, click the Save or Update button at the top-right corner.
  • The content will now be successfully transferred to the selected post type.
ptt-from-post-meta

Method 2: Quick Edit Option

The quick edit option allows you to change the post type without opening the full editor. Follow the steps below:

  • Log in to your WordPress Admin Dashboard.
  • Navigate to Pages → All Pages.
  • Locate the page you want to convert.
  • Click on the Quick Edit link that appears below the title.
  • The quick edit panel will expand.
  • Find the Post Type dropdown field inside the Quick Edit panel.
  • Click the dropdown and select Post.
  • After selecting the new post type, click the Update button.
  • The page will immediately be converted into the selected post type.
ptt-quick-edit

Import & Export (CSV)

ptt-export-import-post

Export CSV

Clicking the Export CSV button downloads a CSV file that contains the posts available under the selected post type on your website. This export includes both draft and published posts, making it useful for backup, reporting, content auditing, and migration tasks. The file captures important post details such as the post title, post content, featured image URL, categories, tags, and other relevant metadata, along with the original publication date and time.

Preserving this publishing information helps maintain the correct order and historical context of your content when you need to review, transfer, or restore it later.

Import CSV

The Import CSV feature lets you upload a previously exported CSV file and bring those posts into another WordPress site or move them from one post type to another within the same site. This is especially helpful when migrating content between environments, restoring saved posts, or reorganizing content into a different structure. During the import process, the plugin reads the supported data from the CSV file and recreates the posts with their title, content, featured image, categories, and other included information.

It also preserves the original publish date and time from the file, helping maintain the same chronology and keeping the imported content consistent with the source data.

Control Content Visibility

The Post Visibility section gives administrators fine-grained control over where a specific post appears across the WordPress website. Instead of hiding a post completely, you can choose exactly which areas should display it and which areas should not. This is useful when you want to keep a post published but limit its visibility in search results, archive pages, widgets, feeds, or other sections of the site.


ptt-visibility-hide
  • Redirect 404 Page: When Redirect 404 Page is enabled, anyone visiting the post directly through its URL will be sent to the website’s 404 Page Not Found page. This is useful when you want to hide a post from public access while still keeping it inside the system for internal use.
  • Hide from Front Page: When Hide from Front Page is enabled, the selected post will not appear on the website’s homepage or front page listing. This also means the post will be excluded from featured sections, blog teasers, and other front-page areas that display published posts.
  • Hide from Category Pages: When Hide from Category Pages is enabled, the post will not be shown on any category archive pages linked to it. Even though the post may still be assigned to one or more categories, visitors browsing those category pages will not see it in the list.
  • Hide from Tag Pages: When Hide from Tag Pages is enabled, the post will be excluded from all tag archive pages connected to its tags. Visitors who open a specific tag archive will not see the hidden post in the results. This helps you control which content appears in tag-based browsing without changing the post’s tag assignments.
  • Hide from Author Pages: When Hide from Author Pages is enabled, the post will not appear on the archive page for its author. This means users browsing posts by a specific author will not see the hidden post listed there.
  • Hide from Date Archive Pages: When Hide from Date Archive Pages is enabled, the post will be removed from all date-based archives such as year, month, or day listings. Visitors browsing older content through archive pages will not encounter the hidden post. This option helps you manage archive visibility while keeping the post live on the site.
  • Hide from Search Pages: When Hide from Search Pages is enabled, the post will not appear in the site’s search results. Even if a visitor searches using the post title, content, or related keywords, the post will remain hidden from search listings.
  • Hide from Feeds: When Hide from Feeds is enabled, the selected post will be excluded from feed outputs such as RSS or Atom feeds. This prevents the post from being distributed through feed readers or external services that rely on the site feed.
  • Hide from Recent Posts: When Hide from Recent Posts is enabled, the post will not appear in Recent Posts widgets, blocks, sidebars, or other areas that automatically display the latest content. This allows the post to stay published while remaining out of high-visibility “latest posts” sections.
  • Hide from Next and Previous Rel Links: When Hide from Next and Previous Rel Links is enabled, the post will be excluded from the normal next-post and previous-post navigation links. Visitors using post navigation will not be directed to the hidden post, and it will not be part of the browsing sequence.
  • Hide from REST API: When Hide from REST API is enabled, the post will not be included in WordPress REST API responses. This prevents the post from being accessed by external applications, mobile apps, headless setups, or third-party tools that rely on API data. It is a useful option when you want to limit programmatic access to the post while keeping it in the WordPress database.

Select Post Types for Transfer Support

The Post Type Transfer Pro settings let you choose which post types can use the transfer functionality. By default, all post types are disabled, helping keep the WordPress admin area clean and focused.

Once enabled, transfer options become available only for the selected post types. The Pro version also includes taxonomy management settings, allowing you to control how categories, tags, and custom taxonomies are handled during transfers.


Enable Post Type Transfer

The Allowed Post Types to Transfer option lets you choose which post types can use the Post Type Transfer feature. Only the post types selected in this section will display the transfer functionality in the editor, Quick Edit, or Bulk Edit screens.

ptt-enable-post-type

Step-by-Step Instructions:

  1. Log in to your WordPress Admin Dashboard.
  2. Navigate to Post Type Manager → Post Type Transfer.
  3. Under the Post Types section, you will see a list of available post types, such as Post, Page, and Product.
  4. By default, all options are unchecked.
  5. Check the checkbox next to the post types where you want to enable the transfer feature.
  6. Check the Post to allow post transfers.
  7. Check the Page to allow page transfers.
  8. Leave unchecked any post types where the transfer option should remain disabled.
  9. Click the Save Settings button to apply the changes.

Once saved, the Post Type Transfer option will become available only for the selected post types in the editor and Quick Edit sections.

Manage Taxonomy

The Manage Taxonomy option controls how taxonomies are handled when content is transferred from one post type to another. This ensures categories, tags, or custom taxonomies can either be ignored, retained, or newly created based on your requirements.

Available Taxonomy Options

  1. Not Required: Select this option when taxonomy mapping is not needed during the transfer process. The post type will transfer without applying or modifying any taxonomy settings.
  2. Same Taxonomy: Enable this option to retain the existing taxonomies, such as categories or tags, while transferring content. This is useful when both the source and destination post types share the same taxonomy structure.
  3. New Taxonomy Register: Choose this option if you want to create and assign a completely new taxonomy during the transfer process. This is especially useful when the destination post type requires a different taxonomy structure or separate content organization.
ptt-taxonomy-settings

Step-by-Step Instructions:

  1. Log in to your WordPress Admin Dashboard.
  2. Navigate to Post Type Manager → Post Type Transfer.
  3. Scroll down to the Taxonomy section.
  4. Choose one of the available taxonomy options, such as Not Required, Same Taxonomy, and New Taxonomy Register
  5. If you select New Taxonomy Register, an additional field named Create New Taxonomy will appear.
  6. Enter the name of the new taxonomy in the provided field.
  7. Click the Save Settings button to save the configuration.

Now, when transferring a post type, the selected taxonomy behavior will automatically apply during the transfer process.

Transfer Post with Taxonomy

Transfer Post with Taxonomy From Post Edit

In the Post Type Transfer Pro settings, you can choose the post types and taxonomy that should be available on the post edit screen. In this example, the same taxonomy has been selected in the Taxonomy setting, and both Post and Page have been enabled in the Post Type setting. Because of this, the Post Type and Taxonomy options appear in the post editor sidebar.

When you transfer content from a Post to a Page, the selected taxonomy will also be transferred to the new post type. This makes it easier to keep related content organized while moving it between different post types.

ptt-post-taxonomy-transfer

Step-by-Step Instructions

  1. Log in to your WordPress Admin Dashboard.
  2. Go to Posts → All Posts or open any other post type you want to edit.
  3. Click Edit on the post you want to transfer.
  4. In the post editor, look at the right-hand sidebar, scroll down until you find the Post Types section.
  5. In the Post Type dropdown, select the new post type you want to convert the content to, such as Page.
  6. In the Taxonomy dropdown, select the taxonomy you want to apply, such as Categories.
  7. Click Save or Update in the top-right corner.

After saving, the content will be transferred successfully to the selected post type along with the chosen taxonomy.

Transfer Post with Taxonomy via Quick Edit

The Quick Edit option lets you change the post type and taxonomy without opening the full editor. This is useful when you want to quickly transfer content and keep its taxonomy settings at the same time.

ptt-post-taxonomy-quick-transfer

Step-by-Step Instructions

  1. Log in to your WordPress Admin Dashboard.
  2. Go to Pages → All Pages.
  3. Find the page you want to convert.
  4. Click the Quick Edit link below the page title.
  5. The Quick Edit panel will open.
  6. Scroll to the Post Types section in the Quick Edit panel.
  7. In the Post Type dropdown, select the new post type you want to convert the content to, such as Post.
  8. In the Taxonomy dropdown, select the taxonomy you want to apply, such as Categories.
  9. Click the Update button.

After updating, the page will be transferred to the selected post type along with the chosen taxonomy.

Bulk Transfer Post with Taxonomy via Quick Edit

The Bulk Edit option allows you to transfer multiple posts at once without opening each post separately. This is useful when you want to change the post type for several items at the same time and apply the selected taxonomy setting in one step.

In this example, you can select multiple posts from the Posts list, open the Bulk Edit panel, and choose a new Post Type and Taxonomy. After updating, all selected posts will be transferred according to the options you selected.

ptt-post-taxonomy-quick-edit

Step-by-Step Instructions

  1. Log in to your WordPress Admin Dashboard.
  2. Go to Posts → All Posts.
  3. Select the posts you want to transfer.
  4. Choose Bulk edit from the bulk actions dropdown.
  5. Click the Apply button.
  6. The Bulk Edit panel will open.
  7. Scroll to the Post Types section in the Bulk Edit panel.
  8. In the Post Type dropdown, select the new post type you want to convert the content to, such as Page.
  9. In the Taxonomy dropdown, select the taxonomy you want to apply, such as Categories.
  10. Click the Update button.

After saving, the selected posts will be transferred to the new post type with the chosen taxonomy settings.

Post Reorder Settings

Settings

The Post Reorder feature in the Post Type Transfer Pro plugin allows administrators to easily organize and rearrange posts within selected post types directly from the WordPress admin panel. Instead of relying on publish dates or default WordPress sorting methods, this feature gives you full control over the display order of your content using a simple drag-and-drop interface. It is especially useful for websites where the order of content is important, such as blogs, announcements, portfolios, product listings, or custom post types.

By enabling this feature, you can quickly manage the sequence of posts without editing each post individually. The plugin also includes an AutoSort option, which automatically applies the custom backend order to the frontend of your website. This helps maintain a consistent content structure across both the WordPress admin area and the live website, making content management more organized, flexible, and user-friendly.

Enable Ordering

The Enable Ordering option allows you to manually rearrange posts and pages directly from the WordPress admin listing page. Once enabled for a specific post type, a reorder (drag-and-drop) icon will appear when you hover over the posts in the listing table. You can then drag items up or down to arrange them in your preferred order.

By default, the reordered sequence is visible only in the backend admin listing page. The frontend website order will remain unchanged unless the Enable AutoSort option is also activated.

ptt-post-reordering-setting

Step-by-Step Instructions

  1. Log in to your WordPress Admin Dashboard.
  2. Navigate to Post Type Manager → Post Order.
  3. Under the Post Types tab, you will see a list of available post types, such as Post, Page, and Product.
  4. In the Enable Ordering column, check the Enable checkbox for the post types where you want to activate drag-and-drop reordering.
  5. Click the Save Settings button.
  6. Now navigate to Posts → All Posts (or the selected post type)
  7. Hover over any post item in the listing page.
  8. A drag-and-drop reorder icon will appear on the left side of the post row.
  9. Click and hold the reorder icon, then drag the post to your preferred position.
  10. Release the mouse button to save the new order automatically.
ptt-drag-drop-order

Enable AutoSort

The Enable AutoSort option automatically applies the custom post order from the admin area to the frontend of your website. When this setting is enabled, visitors will see posts displayed in the exact same order you arranged using the drag-and-drop feature in the admin listing page.

This feature is useful when you want complete control over how posts appear on the live website instead of relying on WordPress’s default sorting methods, such as publish date or alphabetical order.

This ensures consistency between the backend management view and the frontend website display, helping create a more organized and controlled content experience for visitors.

Re-Order Page/Posts

Overview

The Re-Order page in Post Type Transfer Pro provides an easy way to organize posts, pages, and custom post types directly from the WordPress admin area. Instead of relying on publish dates or default WordPress sorting, you can create a custom content order that better matches your website’s structure and priorities.

The page includes drag-and-drop reordering, multi-select support, post pinning, filtering options, and pagination for managing large content libraries. Additional tools such as Undo, Save Order, and Reset to Default help you manage changes safely and efficiently. When AutoSort is enabled, your custom post order is automatically reflected on the frontend, ensuring a consistent content experience across your website.

ptt-reorder-page-drag-order

Drag-and-Drop Reorder

When Enable Ordering is enabled, a Re-Order submenu appears under the selected post type in the WordPress admin menu. This page lets you quickly rearrange posts using a drag-and-drop interface without editing individual posts.

Additional features such as search, category and date filters, pagination, and thumbnail support make it easy to find and organize content efficiently.

Undo Button

When you rearrange posts using drag-and-drop, the Undo and Save Order buttons become active automatically. The Undo button allows you to reverse the most recent reorder action, helping you quickly correct mistakes and restore the previous arrangement without manually moving posts again.

Save Order Button

After rearranging posts, click Save Order to permanently apply your changes. Once saved, the custom order is reflected on the WordPress admin listing page and, when AutoSort is enabled, automatically displayed on the frontend as well. This ensures a consistent content order across both the admin area and your website.

Reset to Default Button

The Reset to Default button removes all custom ordering and restores the default WordPress post order. This clears any manual rearrangements and pinned positions, returning posts to their original sorting behavior. If AutoSort is enabled, the frontend order is also reset to match the default WordPress sorting.

Multiple Selection of Posts

The Re-Order page supports multiple post selection, allowing administrators to manage several posts at once instead of rearranging them individually. Simply select the desired posts using the checkboxes, and additional bulk action options become available.

Available actions include Move to Top, Move to Bottom, Pin Selected, and Unpin Selected, making it easy to organize large content libraries more efficiently. Selected posts remain highlighted, helping you quickly identify and manage the items included in the current action.

ptt-multiselect-reorder

Move To Top

The Move to Top option instantly places all selected posts at the top of the current list. This provides a quick way to prioritize important content without manually dragging each post, making content organization faster and more efficient.

Move To Bottom

The Move to Bottom option instantly moves all selected posts to the end of the current list. This is useful for deprioritizing older or less important content without manually dragging each post, helping you organize large content collections more efficiently.

Pinned Post Functionality

The Pinned Posts feature allows administrators to keep important content at the top of the Re-Order page. Pinned posts are displayed in a separate Pinned section above the regular post list and are clearly marked with a pin icon for easy identification.

This is ideal for featured announcements, important articles, products, or other high-priority content. Pinned posts can also be reordered independently, giving you complete control over the display order of featured items.

ptt-pinned-post

Pin Selected

The Pin Selected option moves all selected posts to the Pinned section at the top of the Re-Order page. Pinned posts are clearly marked with a pin icon and remain separate from the regular post list for better visibility.

This feature is useful for highlighting important content, featured articles, announcements, or products, ensuring they remain easily accessible and prioritized.

Unpin Selected

The Unpin Selected option removes selected posts from the Pinned section and returns them to the regular post list. Once unpinned, the posts follow the normal custom ordering system and are no longer prioritized at the top.

This allows administrators to easily manage featured content and adjust post visibility as content priorities change.

Taxonomy Order Settings

Settings

The Taxonomy Order Settings section lets you control the display order of taxonomy terms directly from the WordPress admin dashboard. By enabling this feature for a specific taxonomy, such as Categories, Tags, or Pattern Categories, you can manually rearrange terms using a simple drag-and-drop interface inside the taxonomy list screen. This is especially useful when you want to organize taxonomy terms in a preferred sequence instead of relying on the default WordPress ordering.

ptt-taxonomy-order-setting

Once ordering is enabled, a drag handle appears next to each taxonomy term in the listing table. You can use this handle to move terms up or down and save the new order instantly.

Enable Taxonomy Ordering

ptt-taxonomy-page-order

Step-by-Step Instructions

  1. Log in to your WordPress Admin Dashboard.
  2. Navigate to Post Type Manager → Taxonomy Order.
  3. Under the Taxonomy tab, you will see a list of available taxonomy types, such as Categories, Tags, and Pattern Categories.
  4. In the Enable Ordering column, check the Enable checkbox for the taxonomy types where you want to activate drag-and-drop reordering.
  5. Click the Save Settings button.
  6. Now navigate to Posts → Categories.
  7. Hover over any taxonomy item in the listing page.
  8. A drag-and-drop reorder icon will appear on the left side of the category row.
  9. Click and hold the reorder icon, then drag the taxonomy to your preferred position.
  10. Release the mouse button to save the new order automatically.

Duplicate Posts Settings

Settings

The Duplicate Posts Settings section in Post Type Transfer Pro allows administrators to control how post duplication works across posts, pages, and custom post types. It helps streamline content management by enabling quick duplication of existing content, making it ideal for landing pages, products, announcements, templates, and other reusable content.

Administrators can choose which post types support duplication, define which content elements should be copied, configure a custom duplicate title prefix, and manage duplicate-related actions displayed in the WordPress admin area. These settings provide complete flexibility over how duplicated content is created and managed.

The plugin also supports pinned content, allowing pinned posts to be reordered independently for better control over featured content placement.

ptt-duplicate-post-settings

Enable Duplication for Post Types

The Enable Duplication option allows administrators to decide which post types can use the duplication feature. Only the selected post types will display duplicate-related actions inside the admin listing page.

When duplication is enabled for a post type, a Clone option automatically appears in the row actions of the Posts listing page. This allows administrators to create a duplicate copy directly from the list view without opening the editor first.

What to Copy

The What to Copy section allows administrators to control exactly which content elements should be included when a post is duplicated. This gives greater flexibility and ensures duplicated posts contain only the information needed.

  1. Title: When enabled, the original post title is copied into the duplicated post. The configured duplicate title prefix is automatically added before the copied title for easy identification.
  2. Content: This option copies the main post content into the duplicated post, including text, blocks, shortcodes, and embedded media. It ensures the duplicated post retains the same layout and structure as the original content.
  3. Excerpt: When enabled, the post excerpt or summary is also copied into the duplicate. This is useful for maintaining the same short descriptions used in blog archives, search results, or custom layouts.
  4. Custom Fields / Post Meta: This option copies all custom fields and metadata associated with the original post.
  5. Taxonomies (Categories, Tags, etc.): When enabled, all assigned categories, tags, and custom taxonomy terms are copied into the duplicated post. This helps preserve content organization and ensures the duplicate remains properly categorized.
  6. Featured Image: This option copies the featured image from the original post and assigns it to the duplicated post automatically.

Duplicate Title Prefix

The Duplicate Title Prefix field defines the text automatically added at the beginning of every duplicated post title. This helps administrators easily identify duplicate content inside the Posts listing page and reduces confusion between original and copied posts.

For example:

  1. Original Post Title: My Post
  2. Prefix: Copy of
  3. Duplicated Title: Copy of My Post

Using a clear title prefix helps keep duplicated content organized and makes it easier to distinguish drafts, templates, or temporary copies from published content.

ptt-duplicate-post-setting

Row Actions

The Row Actions section controls which duplication-related actions appear when hovering over posts in the Posts listing page. These actions provide quick access to duplication tools directly from the admin list view.

Clone (Duplicate as Draft, Return to List)

The Clone row action provides a quick and efficient way to duplicate an existing post directly from the Posts listing page without opening the WordPress editor. When this option is enabled, a Clone link appears when you hover your mouse over a post title in the admin list view. Clicking this option instantly creates a duplicate copy of the selected post and saves it as a Draft.

After the duplicate is created, you are automatically returned to the Posts listing page, allowing you to continue managing content without interruption.

New Draft (Duplicate and Open in Editor)

The New Draft row action is designed for users who want to immediately edit a duplicated post after creating it. When enabled, a New Draft link appears in the row actions below each post title inside the Posts listing page. Clicking this option creates a duplicate copy of the selected post, saves it as a draft, and automatically opens the duplicated content in the WordPress editor.

Instead of returning to the Posts list after duplication, the editor opens automatically so the user can start editing the new draft right away.

Delete Duplicate (Move Duplicate to Trash)

The Delete Duplicate row action helps administrators easily manage and remove duplicated posts that are no longer needed. This option is specifically designed to work with posts created using the plugin’s duplication feature and identified through the configured Duplicate Title Prefix. By using the title prefix, the plugin can distinguish duplicate posts from original content and safely target only duplicated items for removal.

When the Delete Duplicate option is used, the selected duplicate post is moved to the WordPress Trash instead of being permanently deleted immediately. This provides an additional layer of safety, allowing administrators to restore accidentally removed duplicates if necessary.

Duplicate Term Settings

Settings

The Duplicate Term Settings section in the Post Type Transfer Pro plugin allows administrators to manage how taxonomy term duplication works across different taxonomy types in WordPress. This feature makes it easier to create copies of existing taxonomy terms such as categories, tags, or custom taxonomies without having to recreate them manually from scratch.

From this settings page, you can choose which taxonomy types should support duplication, decide which term details should be copied into the duplicate, and define a custom duplicate name prefix for easier identification.

ptt-taxonomy-duplicate-setting

Enable Duplication for Taxonomy Types

The Enable Duplication option lets administrators choose which taxonomy types should support the duplication feature. Only the taxonomy types selected here will show duplicate-related actions in the taxonomy listing page inside the WordPress admin area.

Once duplication is enabled for a taxonomy type, a Duplicate action becomes available in the row actions of the taxonomy listing page. This allows you to quickly create a copy of an existing term directly from the list view, without opening the term editor first.

What to Copy

The What to Copy section lets administrators choose exactly which term details should be included when a taxonomy term is duplicated. This gives you greater control over the duplication process and ensures that only the necessary information is carried over to the new term.

By selecting the appropriate options, you can control whether the duplicated term keeps its description, custom metadata, or parent term structure.

  1. Description: Copies the term description from the original taxonomy term into the duplicate. This helps preserve the same explanatory text or term details in the copied version.
  2. Custom Fields / Term Meta: Copies any custom fields or term metadata attached to the term. This is useful for preserving extra settings, ACF meta data, or custom fields linked to that taxonomy term.
  3. Parent Term (hierarchical taxonomies): Copies the parent relationship of the term in hierarchical taxonomies such as Categories. This keeps the duplicated term in the same structure and maintains the original parent-child arrangement.

Duplicate Name Prefix

The Duplicate Name Prefix field defines the text that is automatically added to the beginning of every duplicated term name. This makes duplicated terms easy to identify inside the taxonomy listing page and helps avoid confusion between the original term and its copied version. It also makes taxonomy management cleaner and more organized when working with a large number of terms.

For example:

  1. Original Category Title: Technology
  2. Prefix: Copy of
  3. Duplicated Title: Copy of Technology

Compatibility Settings

The Compatibility section in the Post Order Settings page helps the plugin work smoothly with popular page builders and theme layouts. As shown in the screenshot, the plugin can automatically detect supported builders such as Elementor, WPBakery Page Builder, and Divi Builder. When a compatible builder is detected, the plugin loads the correct module so your custom post ordering continues to work properly without affecting the design or display of your content.

This detection is checked automatically and is cached for 24 hours to improve performance. If you have recently installed, removed, or changed a page builder, you can use the force refresh detection button to run the check again and update the compatibility status immediately.

ptt-compatibility-settings

WP-CLI Support

Post Type Transfer Pro includes WP-CLI support, allowing developers and site administrators to transfer posts between post types directly from the command line. This is ideal for automating content migrations, handling large-scale transfers, and integrating post type changes into deployment workflows.

The WP-CLI command supports transferring all posts or specific post IDs, managing taxonomies during the transfer, and previewing changes using the --dry-run option before applying them to live content.

Note: WP-CLI functionality is available only after activating Post Type Transfer Pro with a valid license key.

WP-CLI command single-line descriptions

  1. wp post-type-transfer transfer: Transfers posts from one post type to another from the command line, with optional filters for specific post IDs, taxonomy handling, custom taxonomy creation, and dry-run preview mode.
  2. --from=: Defines the source post type that the posts will be transferred from.
  3. --to=: Defines the destination post type that the posts will be transferred to.
  4. --post-ids=: Transfers only the selected posts by specifying their post IDs as a comma-separated list.
  5. --taxonomy-handling=none: Transfers the post type without applying taxonomy mapping during the process.
  6. --taxonomy-handling=same: Keeps the existing taxonomy terms attached to the transferred posts.
  7. --taxonomy-handling=new: Creates a new taxonomy during the transfer process for the destination post type.
  8. --new-taxonomy-name=: Sets a custom name for the new taxonomy when using the new taxonomy handling mode.
  9. --dry-run: Previews the transfer operation without applying any changes, so you can verify the result safely first.

Example Usage:

  1. wp post-type-transfer transfer --from=post --to=page: Transfers all posts from the post type to the page type.
  2. wp post-type-transfer transfer --from=post --to=page --post-ids=12,34,56: Transfers only posts with IDs 12, 34, and 56.
  3. wp post-type-transfer transfer --from=post --to=page --taxonomy-handling=same: Transfers posts and keeps the same taxonomies attached.
  4. wp post-type-transfer transfer --from=post --to=page --taxonomy-handling=new --new-taxonomy-name=my-tax: Transfers posts and creates a new taxonomy named my-tax.
  5. wp post-type-transfer transfer --from=post --to=page --dry-run: Shows what would be transferred without making any actual changes.

Developer Hooks & Customization

The CSV importer and exporter provide several WordPress filters that allow developers to customize CSV generation and import behavior without modifying core plugin code.


CSV Export Hooks

  1. ptt_csv_export_filename

    /**
     * Filters the filename for the exported CSV file.
     *
     * @param string $filename The default filename.
     * @param string $post_type The post type being exported.
     * @return string The modified filename.
     */
    add_filter(
        'ptt_csv_export_filename',
        function ( $filename, $post_type ) {
            return get_bloginfo( 'name' ) . '-' . $post_type . '-' . date( 'Y-m-d' ) . '.csv';
        },
        10,
    2 );
    

    Use this filter to customize the exported CSV filename based on your website name, post type, date, or any other naming convention.

  2. ptt_csv_export_columns

    /**
     * Filters the columns included in the exported CSV file.
     *
     * @param array $columns The default columns.
     * @param string $post_type The post type being exported.
     * @return array The modified columns.
     */
    add_filter(
        'ptt_csv_export_columns',
        function ( $columns, $post_type ) {
            $columns[] = 'author_email';
            return $columns;
        },
        10,
        2
    );
    

    Use this filter to add, remove, or reorder columns in the exported CSV file based on your specific requirements.

  3. ptt_csv_export_row

    /**
     * Filters the data for each row in the exported CSV file.
     *
     * @param array $row The default row data.
     * @param WP_Post $post The post object being exported.
     * @param string $post_type The post type being exported.
     * @return array The modified row data.
     */
    add_filter(
        'ptt_csv_export_row',
        function ( $row, $post, $post_type ) {
            $author = get_userdata( $post->post_author );
            $row['author_email'] = $author
                ? $author->user_email
                : '';
            return $row;
        },
        10,
        3
    );
    

    Use this filter to customize exported row values, include additional post data, or populate custom columns added through the ptt_csv_export_columns filter.

Adding a Custom Export Column

  1. ptt_csv_export_columns

    /**
     * Filters the columns included in the exported CSV file.
     *
     * @param array $columns The default columns.
     * @param string $post_type The post type being exported.
     * @return array The modified columns.
     */
    add_filter(
        'ptt_csv_export_columns',
        function ( $columns ) {
            $columns[] = 'author_email';
            return $columns;
        }
    );
    
  2. ptt_csv_export_row

    /**
     * Filters the data for each row in the exported CSV file.
     *
     * @param array $row The default row data.
     * @param WP_Post $post The post object being exported.
     * @param string $post_type The post type being exported.
     * @return array The modified row data.
     */
    add_filter(
        'ptt_csv_export_row',
        function ( $row, $post ) {
            $author = get_userdata( $post->post_author );
    
            $row['author_email'] = $author
                ? $author->user_email
                : '';
    
            return $row;
        },
        10,
        2
    );
    

    This approach allows you to export any custom data, including author information, custom fields, taxonomy values, SEO metadata, or data from third-party plugins.

Import Hooks

  1. ptt_csv_import_skip_row

    /**
     * Filters whether to skip importing a specific row from the CSV file.
     *
     * @param bool $skip Whether to skip the row.
     * @param array $data The row data.
     * @return bool Whether to skip the row.
     */
    add_filter(
        'ptt_csv_import_skip_row',
        function ( $skip, $data ) {
            return empty( $data['external_id'] );
        },
        10,
        2
    );
    

    Use this filter to prevent specific rows from being imported based on custom validation rules.

  2. ptt_csv_import_post_data

    /**
     * Filters the post data before importing a row from the CSV file.
     *
     * @param array $post_data The default post data.
     * @param array $data The row data from the CSV file.
     * @return array The modified post data.
     */
    add_filter(
        'ptt_csv_import_post_data',
        function ( $post_data, $data ) {
            $post_data['post_author'] = 1;
            $post_data['menu_order']  = 100;
    
            return $post_data;
        },
        10,
        2
    );
    

    Use this filter to modify post properties such as author, status, menu order, slug, or publish date before saving.

  3. ptt_csv_import_meta_value

    /**
     * Filters the meta value before importing a row from the CSV file.
     *
     * @param mixed $value The default meta value.
     * @param string $key The meta key.
     * @return mixed The modified meta value.
     */
    add_filter(
        'ptt_csv_import_meta_value',
        function ( $value, $key ) {
            if ( 'legacy_status' === $key ) {
                return strtoupper( $value );
            }
    
            return $value;
        },
        10,
        2
    );
    

    Skip a Meta Key

    /**
     * Filters the meta value before importing a row from the CSV file.
     *
     * @param mixed $value The default meta value.
     * @param string $key The meta key.
     * @return mixed The modified meta value.
     */
    add_filter(
        'ptt_csv_import_meta_value',
        function ( $value, $key ) {
            if ( '_edit_lock' === $key ) {
                return null;
            }
    
            return $value;
        },
        10,
        2
    );
    

    Use this filter to transform, sanitize, or exclude imported metadata.

  4. ptt_csv_import_image_url

    /**
     * Filters the image URL before importing a row from the CSV file.
     *
     * @param string $url The default image URL.
     * @return string The modified image URL.
     */
    add_filter(
        'ptt_csv_import_image_url',
        function ( $url ) {
            return str_replace(
                'staging.example.com',
                'www.example.com',
                $url
            );
        }
    );
    

    Skip Featured Image Imports

    /**
     * Filters the image URL before importing a row from the CSV file.
     *
     * @param string $url The default image URL.
     * @return string The modified image URL.
     */
    add_filter(
        'ptt_csv_import_image_url',
        function ( $url ) {
            return str_replace(
                'staging.example.com',
                'www.example.com',
                $url
            );
        }
    );
    

    Use this filter to modify image URLs before importing them.

Export Format Notes

The exporter always includes the following core columns:

  1. ID
  2. post_title
  3. post_content
  4. post_name
  5. post_status
  6. post_date
  7. categories
  8. tags
  9. featured_image

All discovered post meta keys are automatically exported as additional columns.

Taxonomies

  1. categories are exported as pipe-separated values.
  2. tags are exported as pipe-separated values.

Example: News | Featured | Events

ACF Support

The exporter includes:

  1. ACF field values
  2. ACF field reference keys (_field_name = field_xxxxx)

This allows imported content to fully restore ACF field mappings.

JSON Values

Array and object meta values are exported using a special prefix: __json__:["value1","value2"]

During import, these values are automatically decoded back into arrays or objects before being stored.

Features Comparison

Features
Free
Premium
  • Post Editor Transfer
  • Quick Edit Transfer
  • Custom Post Type Support (WooCommerce, CPT UI, ACF, etc.)
  • CSV Import & Export
  • Post Visibility Controls
  • Translation Ready
  • Bulk Edit Transfer
  • Selective Enablement
  • Advanced Taxonomy Management
  • Post Duplication
  • Drag-and-Drop Post Reordering
  • AutoSort Frontend Ordering
  • Advanced Reorder Tools (Pin, Move, Undo, Reset)
  • Post Duplication
  • WordPress Multisite Support
  • Support
    Forums
    Email & Phone

Do you have any questions? Email us at [email protected] for personal assistance.

backtotop