{"id":693,"date":"2010-05-29T19:26:20","date_gmt":"2010-05-29T19:26:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/post-type-switcher\/"},"modified":"2026-03-24T16:50:41","modified_gmt":"2026-03-24T16:50:41","slug":"post-type-switcher","status":"publish","type":"plugin","link":"https:\/\/snd.wordpress.org\/plugins\/post-type-switcher\/","author":395440,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"4.0.1","stable_tag":"4.0.1","tested":"6.9.4","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"Post Type Switcher","header_author":"Triple J Software, Inc.","header_description":"","assets_banners_color":"fcfbfb","last_updated":"2026-03-24 16:50:41","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/wordpressfoundation.org\/donate\/","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/post-type-switcher\/","header_author_uri":"https:\/\/jjj.software","rating":4.7,"author_block_rating":0,"active_installs":200000,"downloads":2303465,"num_ratings":253,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.1.0":{"tag":"3.1.0","author":"johnjamesjacoby","date":"2018-02-16 18:44:50"},"3.2.0":{"tag":"3.2.0","author":"johnjamesjacoby","date":"2021-03-13 05:26:34"},"3.3.0":{"tag":"3.3.0","author":"johnjamesjacoby","date":"2024-02-29 14:36:23"},"4.0.0":{"tag":"4.0.0","author":"johnjamesjacoby","date":"2025-07-21 00:41:46"},"4.0.1":{"tag":"4.0.1","author":"johnjamesjacoby","date":"2026-03-24 16:50:41"}},"upgrade_notice":[],"ratings":{"1":13,"2":2,"3":3,"4":1,"5":234},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":1823578,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":1823578,"resolution":"256x256","location":"assets","locale":""},"icon-512x512.jpg":{"filename":"icon-512x512.jpg","revision":1823578,"resolution":"512x512","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":1823571,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":1823571,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.1.0","3.2.0","3.3.0","4.0.0","4.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":1534004,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":1534004,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":1534004,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"\"Type\" column in \"Posts\" screen.","2":"\"Post Type\" interface in \"Quick Edit\".","3":"\"Post Type\" interface in \"Edit Post\" screen."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[170,86,2008,528,5509],"plugin_category":[],"plugin_contributors":[78336,77545,78337],"plugin_business_model":[],"class_list":["post-693","plugin","type-plugin","status-publish","hentry","plugin_tags-page","plugin_tags-post","plugin_tags-post-type","plugin_tags-type","plugin_tags-types","plugin_contributors-beatpanda","plugin_contributors-johnjamesjacoby","plugin_contributors-norcross","plugin_committers-johnjamesjacoby"],"banners":{"banner":"https:\/\/ps.w.org\/post-type-switcher\/assets\/banner-772x250.jpg?rev=1823571","banner_2x":"https:\/\/ps.w.org\/post-type-switcher\/assets\/banner-1544x500.jpg?rev=1823571","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/post-type-switcher\/assets\/icon-128x128.jpg?rev=1823578","icon_2x":"https:\/\/ps.w.org\/post-type-switcher\/assets\/icon-256x256.jpg?rev=1823578","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/post-type-switcher\/assets\/screenshot-1.png?rev=1534004","caption":"\"Type\" column in \"Posts\" screen."},{"src":"https:\/\/ps.w.org\/post-type-switcher\/assets\/screenshot-2.png?rev=1534004","caption":"\"Post Type\" interface in \"Quick Edit\"."},{"src":"https:\/\/ps.w.org\/post-type-switcher\/assets\/screenshot-3.png?rev=1534004","caption":"\"Post Type\" interface in \"Edit Post\" screen."}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<h4>Supported Types<\/h4>\n\n<p>The plugin can convert nearly every combination of posts, pages, and even custom post types:<\/p>\n\n<ul>\n<li>Page to Post<\/li>\n<li>Post to Page<\/li>\n<li>Post to Custom<\/li>\n<li>Custom to Custom<\/li>\n<\/ul>\n\n<p>As of 3.0.0, support for switching to or from Attachments was removed. This may come back in a subsequent version.<\/p>\n\n<p>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.<\/p>\n\n<h4>Bulk Editing<\/h4>\n\n<p>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.<\/p>\n\n<h4>Block Editor<\/h4>\n\n<p>With block-editor (aka Gutenberg) support (thanks to Daniel Bachhuber) you can switch between post-types that use either the Block Editor and the Classic one, without losing any of your embedded content.<\/p>\n\n<!--section=installation-->\n<h4>Installation<\/h4>\n\n<ol>\n<li>In your WordPress Dashboard go to \"Plugins\" -&gt; \"Add Plugin\".<\/li>\n<li>Search for \"Post Type Switcher\".<\/li>\n<li>Install the plugin by pressing the \"Install\" button.<\/li>\n<li>Activate the plugin by pressing the \"Activate\" button.<\/li>\n<li>From the post edit screen, above the \"Publish\" button is the \"Post Type\" interface.<\/li>\n<li>Change post types as needed.<\/li>\n<\/ol>\n\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WordPress version 5.0 or greater.<\/li>\n<li>PHP version 7.0.0 or greater.<\/li>\n<li>MySQL version 5.7 or greater.<\/li>\n<\/ul>\n\n<h4>Recommended Requirements<\/h4>\n\n<ul>\n<li>Latest WordPress version.<\/li>\n<li>PHP version 8.0 or greater.<\/li>\n<li>MySQL version 8.0 or greater, or MariaDB 10.5 or greater.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20would%20i%20need%20this%3F\"><h3>Why would I need this?<\/h3><\/dt>\n<dd><p>You need to selectively change a posts type from one to another.<\/p><\/dd>\n<dt id=\"does%20this%20ruin%20my%20taxonomy%20associations%3F\"><h3>Does this ruin my taxonomy associations?<\/h3><\/dt>\n<dd><p>It should not. This plugin only changes the 'post_type' property of a post.<\/p><\/dd>\n<dt id=\"does%20this%20ruin%20block-editor%20content%3F\"><h3>Does this ruin block-editor content?<\/h3><\/dt>\n<dd><p>It should not. Be careful when editing HTML content while switching between editor types!<\/p><\/dd>\n<dt id=\"will%20this%20delete%20my%20content%3F\"><h3>Will this delete my content?<\/h3><\/dt>\n<dd><p>No. This plugin does not include any code capable of deleting anything.<\/p>\n\n<p>Plugin conflicts are not unheard of and can be difficult to troubleshoot.<\/p>\n\n<p>If you're worried, backup your database and deactivate all other plugins before using this tool.<\/p>\n\n<p>If you're still worried, ask for help in the WordPress.org support forums.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.0.1<\/h4>\n\n<ul>\n<li>Prevent Authors &amp; Contributors from changing types on posts of Editors &amp; Admins<\/li>\n<\/ul>\n\n<h4>4.0.0<\/h4>\n\n<ul>\n<li>Requires WordPress 6.2<\/li>\n<li>Requires PHP 8.0<\/li>\n<li>Improve block editor styling<\/li>\n<li>Stash original &amp; previous types in post meta<\/li>\n<li>Add <code>pts_get_post_types_filter<\/code> filter<\/li>\n<li>Load textdomain on <code>init<\/code> instead of <code>plugins_loaded<\/code><\/li>\n<\/ul>\n\n<h4>3.3.0<\/h4>\n\n<ul>\n<li>Hide the \"Type\" column by default<\/li>\n<\/ul>\n\n<h4>3.2.1<\/h4>\n\n<ul>\n<li>Update author<\/li>\n<li>Add sponsor link<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>Block editor support<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Fix post targeting when called recursively<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Improved Quick-Edit and Bulk-Edit support<\/li>\n<li>Remove <code>attachment<\/code> type support for now, as there is no way to switch back<\/li>\n<li>Fix bug causing some post-types to switch unexpectedly<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Ensure quick-edit works with new procedure<\/li>\n<li>Quick-edit \"Type\" column works again!<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Improved plugin compatibility with WooThemes Sensei<\/li>\n<li>Filter post arguments vs. hook to save_post<\/li>\n<li>Add \"post_type_switcher\" action<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Add support for network activation<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Add textdomains for localization<\/li>\n<li>Load translation strings using load_plugin_textdomain()<\/li>\n<li>Before saving data chack if it's not an autosave using wp_is_post_autosave()<\/li>\n<li>Before saving data chack if it's not a revision using wp_is_post_revision()<\/li>\n<li>Security: Prevent direct access to directories<\/li>\n<li>Security: Translation strings escaping<\/li>\n<li>Add screenshots<\/li>\n<\/ul>\n\n<h4>1.5.0 - norcross<\/h4>\n\n<ul>\n<li>Fix multiple quickedit dropdowns<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Improve handling of non-public post types<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Fix saving of autodrafts<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Improved WordPress 3.9 integration (added dashicon to publish metabox)<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Add bulk editing to supported post types<\/li>\n<li>Props Matthew Gerring for bulk edit contribution<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Add is_admin() check to prevent theme-side interference<\/li>\n<li>Change save_post priority to 999 to avoid plugin compatibility issues<\/li>\n<li>Remove ending closing php tag<\/li>\n<li>HTML and PHPDoc improvements<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fix revisions being nooped<\/li>\n<li>Fix malformed HTML for some user roles<\/li>\n<li>Make a singleton (meh...)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Fix JS bugs<\/li>\n<li>Audit post save bail conditions<\/li>\n<li>Tweak UI for WordPress 3.3<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Use the API to change the post type, fixing a conflict with persistent object caches<\/li>\n<li>No longer requires JavaScript<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Disallow post types that are not public and do not have a visible UI<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Release<\/li>\n<\/ul>","raw_excerpt":"A simple way to change a post&#039;s type in WordPress","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=693"}],"author":[{"embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/johnjamesjacoby"}],"wp:attachment":[{"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=693"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=693"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=693"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=693"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=693"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/snd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}