This plugin adds a simple post-type drop-down to the post editor interface, allowing you to reassign any post to a new post type. It allows you to switch post’s type while editing your post.
The plugin can convert nearly every combination of posts, pages, and even custom post types:
- Page to Post
- Post to Page
- Post to Custom
- Custom to Custom
As of 3.0.0, support for switching to or from Attachments was removed. This may come back in a subsequent version.
Invisible post types, such as revisions, menus, etc., are purposely excluded. But, if you need to access invisible post types, you can adjust the boundaries using the ‘pts_post_type_filter’ filter.
With bulk editing, thanks to Matthew Gerring, you can select all the posts in a certain type and convert them to a new type with one quick action.
- In your WordPress Dashboard go to “Plugins” -> “Add Plugin”.
- Search for “Post Type Switcher”.
- Install the plugin by pressing the “Install” button.
- Activate the plugin by pressing the “Activate” button.
- From the post edit screen, above the “Publish” button is the “Post Type” interface.
- Change post types as needed.
- WordPress version 3.0 or greater.
- PHP version 5.2.4 or greater.
- MySQL version 5.0 or greater.
- Latest WordPress version.
- PHP version 7.0 or greater.
- MySQL version 5.7 or greater, or MariaDB 10 or greater.
- Why would I need this?
You need to selectively change a posts type from one to another.
- Does this ruin my taxonomy associations?
It should not. This plugin only changes the ‘post_type’ property of a post.
A client wanted to group parts of his content differently. Instead of copy/pasting posts from one custom post type to another, I could easily convert the post type for a couple of existing posts with this helpful plugin.
The plugin is unobtrusive, works like a charm and is well coded (i.e. follows WordPress’ coding standards, comments make code transparent).
Thank you very much.
Easy and … good!
I’m so glad I found this! It worked like a charm and saved me hours converting the content of an old site from pages to posts. Thanks!
I was a little paranoid about using this plugin because of what some were saying but it totally worked for me. My suggestion would be to make sure you back up your site before. I used Updraft so if there was a problem I could immediately revert to the former version.
the plugin works as described and with no issues at all!
I am doing some maintenance work on a site of mine, and I’ve decided to create a complementary ‘Event Archive’ CPT for the ‘Event’ CPT, so that once events have happened, they are changed to an ‘Archive’ type, so that they don’t clutter the active / future events.
I tried to change post type with Sequel Pro, but it wouldn’t let me edit that field. With this plugin, I was able to change about 75 CPT’s in just under two minutes! Fantastic work – thanks so much!
Contributors & Developers
“Post Type Switcher” is open source software. The following people have contributed to this plugin.Contributors
“Post Type Switcher” has been translated into these 8 locales: French, German, Finnish, Portuguese, Brazilian Portuguese, Hebrew, Greek, English (Canada). Thank you to the translators for their contributions.
Interested in development?
- Improved Quick-Edit and Bulk-Edit support
attachmenttype support for now, as there is no way to switch back
- Fix bug causing some post-types to switch unexpectedly
- Ensure quick-edit works with new procedure
- Quick-edit “Type” column works again!
- Improved plugin compatibility with WooThemes Sensei
- Filter post arguments vs. hook to save_post
- Add “post_type_switcher” action
- Add support for network activation
- Add textdomains for localization
- Load translation strings using load_plugin_textdomain()
- Before saving data chack if it’s not an autosave using wp_is_post_autosave()
- Before saving data chack if it’s not a revision using wp_is_post_revision()
- Security: Prevent direct access to directories
- Security: Translation strings escaping
- Add screenshots
1.5.0 – norcross
- Fix multiple quickedit dropdowns
- Improve handling of non-public post types
- Fix saving of autodrafts
- Improved WordPress 3.9 integration (added dashicon to publish metabox)
- Add bulk editing to supported post types
- Props Matthew Gerring for bulk edit contribution
- Add is_admin() check to prevent theme-side interference
- Change save_post priority to 999 to avoid plugin compatibility issues
- Remove ending closing php tag
- HTML and PHPDoc improvements
- Fix revisions being nooped
- Fix malformed HTML for some user roles
- Make a singleton (meh…)
- Fix JS bugs
- Audit post save bail conditions
- Tweak UI for WordPress 3.3
- Use the API to change the post type, fixing a conflict with persistent object caches
- Disallow post types that are not public and do not have a visible UI