Title: Post Type Switcher
Author: John James Jacoby
Published: <strong>Май 29, 2010</strong>
Last modified: Мартъи 24, 2026

---

Search plugins

![](https://ps.w.org/post-type-switcher/assets/banner-772x250.jpg?rev=1823571)

![](https://ps.w.org/post-type-switcher/assets/icon-256x256.jpg?rev=1823578)

# Post Type Switcher

 By [John James Jacoby](https://profiles.wordpress.org/johnjamesjacoby/)

[Download](https://downloads.wordpress.org/plugin/post-type-switcher.4.0.1.zip)

 * [Details](https://os.wordpress.org/plugins/post-type-switcher/#description)
 * [Reviews](https://os.wordpress.org/plugins/post-type-switcher/#reviews)
 *  [Installation](https://os.wordpress.org/plugins/post-type-switcher/#installation)
 * [Development](https://os.wordpress.org/plugins/post-type-switcher/#developers)

 [Support](https://wordpress.org/support/plugin/post-type-switcher/)

## Description

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.

#### Supported Types

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.

#### Bulk Editing

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.

#### Block Editor

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.

## Screenshots

 * [[
 * Type” column in Posts” screen.
 * [[
 * Post Type” interface in Quick Edit”.
 * [[
 * Post Type” interface in Edit Post” screen.

## Installation

#### Installation

 1. In your WordPress Dashboard go to Plugins” -> Add Plugin”.
 2. Search for Post Type Switcher”.
 3. Install the plugin by pressing the Install” button.
 4. Activate the plugin by pressing the Activate” button.
 5. From the post edit screen, above the Publish” button is the Post Type” interface.
 6. Change post types as needed.

#### Minimum Requirements

 * WordPress version 5.0 or greater.
 * PHP version 7.0.0 or greater.
 * MySQL version 5.7 or greater.

#### Recommended Requirements

 * Latest WordPress version.
 * PHP version 8.0 or greater.
 * MySQL version 8.0 or greater, or MariaDB 10.5 or greater.

## FAQ

### 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.

### Does this ruin block-editor content?

It should not. Be careful when editing HTML content while switching between editor
types!

### Will this delete my content?

No. This plugin does not include any code capable of deleting anything.

Plugin conflicts are not unheard of and can be difficult to troubleshoot.

If you’re worried, backup your database and deactivate all other plugins before 
using this tool.

If you’re still worried, ask for help in the WordPress.org support forums.

## Reviews

![](https://secure.gravatar.com/avatar/689578207878e255e2b44a9e32a5770a6a97062b93737fccf43b79d4d5097c11?
s=60&d=retro&r=g)

### 󠀁[Saves Me Big Trouble](https://wordpress.org/support/topic/saves-me-big-trouble/)󠁿

 [rmschwartz](https://profiles.wordpress.org/rmschwartz/) Февраль 21, 2026

The WordPress Dashboard is busy, and I don’t always pay attention to whether I’m
working on pages or posts. When I goof up, I can fix the problem instantaneously.
With out it well life is not so good. This should be a part of the Core.

![](https://secure.gravatar.com/avatar/dbb284821044d796abb891024e4b99313ce4ccafe3710eea29fb32335782cde3?
s=60&d=retro&r=g)

### 󠀁[Great plugin](https://wordpress.org/support/topic/great-plugin-41246/)󠁿

 [holafreak](https://profiles.wordpress.org/holafreak/) Январь 30, 2026

I’ve used this plugin for a while now and it’s amazing. Saves me a ton of time and
is simply straightforward.

![](https://secure.gravatar.com/avatar/df56c74587f1e09dc14e7664ec61ba803bba512733f9f5f7e8ee6017867b09bf?
s=60&d=retro&r=g)

### 󠀁[Thanks so much – that really saved me!](https://wordpress.org/support/topic/thanks-so-much-that-really-saved-me/)󠁿

 [Roice](https://profiles.wordpress.org/roicecz/) Январь 15, 2026

It does exactly what it’s supposed to. Thanks a lot!

![](https://secure.gravatar.com/avatar/08aac2322d2058a94293be1a2bf96dcd237e3dc68eff11ea18c81edaa183a424?
s=60&d=retro&r=g)

### 󠀁[Huge Time Saver](https://wordpress.org/support/topic/huge-time-saver-112/)󠁿

 [mirphi](https://profiles.wordpress.org/mirphi/) Июль 24, 2025

Extremely useful plugin if you have migrated your site from Joomla and all your 
content is migrated as posts. Post Type Switcher allows you to quickly switch relevant
items from posts to pages. Also very useful if you use custom post types and need
to migrate content between types which you can do in a matter of seconds.

![](https://secure.gravatar.com/avatar/b1b056aa83f63b299d5a196f025f50f2a71ed0064d25890a4b800a6ffc238695?
s=60&d=retro&r=g)

### 󠀁[Great plugin if you use multiple custom post types](https://wordpress.org/support/topic/great-plugin-if-you-use-multiple-custom-post-types/)󠁿

 [Kevin McClellan](https://profiles.wordpress.org/crazywpgeek/) Июль 21, 2025

I have been using this plugin for several years now and have come to find that it’s
a regular part of my routine now when I decide that a new custom post type is needed
for a site, and super easy to move pages or posts to other post types when needed.
I also use page builders and have not seen any issues as a result of using this 
plugin as all the postmeta is still there. If it’s missing in the new post type 
then that means the new post type didn’t support it. What I typically do is use 
another plugin to clone the page or post, and then move that to the new post type.
That’s a good way to not disturb the current setup while working on the new post
type and implementing features or building onto things. I’m amazed how some sites
that I help with have 1,000+ pages (before I came into the project). When I go through
those sites I can usually come up with 3 or 4 post types that will help declutter,
or put things that should have never been in pages” into their own space. Post Type
Switcher is so great at helping move things – and then we just set up some 301 redirects
to preserve SEO and prevent 404 errors.

![](https://secure.gravatar.com/avatar/fbb3f774879f13f1a66bd28916425915918758884c2974afd21cfef380d0691e?
s=60&d=retro&r=g)

### 󠀁[Practical and Useful](https://wordpress.org/support/topic/practical-and-useful-4/)󠁿

 [Ali Daei](https://profiles.wordpress.org/aliedaei/) Июнь 26, 2025

This plugin is very practical and useful. It has helped me in many cases. Thank 
you.

 [ Read all 253 reviews ](https://wordpress.org/support/plugin/post-type-switcher/reviews/)

## Contributors & Developers

“Post Type Switcher” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ John James Jacoby ](https://profiles.wordpress.org/johnjamesjacoby/)
 *   [ Matthew Gerring ](https://profiles.wordpress.org/beatpanda/)
 *   [ Andrew Norcross ](https://profiles.wordpress.org/norcross/)

“Post Type Switcher” has been translated into 34 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/post-type-switcher/contributors)
for their contributions.

[Translate “Post Type Switcher” into your language.](https://translate.wordpress.org/projects/wp-plugins/post-type-switcher)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/post-type-switcher/),
check out the [SVN repository](https://plugins.svn.wordpress.org/post-type-switcher/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/post-type-switcher/)
by [RSS](https://plugins.trac.wordpress.org/log/post-type-switcher/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 4.0.1

 * Prevent Authors & Contributors from changing types on posts of Editors & Admins

#### 4.0.0

 * Requires WordPress 6.2
 * Requires PHP 8.0
 * Improve block editor styling
 * Stash original & previous types in post meta
 * Add `pts_get_post_types_filter` filter
 * Load textdomain on `init` instead of `plugins_loaded`

#### 3.3.0

 * Hide the Type” column by default

#### 3.2.1

 * Update author
 * Add sponsor link

#### 3.2.0

 * Block editor support

#### 3.1.0

 * Fix post targeting when called recursively

#### 3.0.0

 * Improved Quick-Edit and Bulk-Edit support
 * Remove `attachment` type support for now, as there is no way to switch back
 * Fix bug causing some post-types to switch unexpectedly

#### 2.0.1

 * Ensure quick-edit works with new procedure
 * Quick-edit Type” column works again!

#### 2.0.0

 * Improved plugin compatibility with WooThemes Sensei
 * Filter post arguments vs. hook to save_post
 * Add post_type_switcher” action

#### 1.7.0

 * Add support for network activation

#### 1.6.0

 * 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

#### 1.4.0

 * Improve handling of non-public post types

#### 1.3.0

 * Fix saving of autodrafts

#### 1.2.1

 * Improved WordPress 3.9 integration (added dashicon to publish metabox)

#### 1.2.0

 * Add bulk editing to supported post types
 * Props Matthew Gerring for bulk edit contribution

#### 1.1.1

 * 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

#### 1.1.0

 * Fix revisions being nooped
 * Fix malformed HTML for some user roles
 * Make a singleton (meh…)

#### 1.0.0

 * Fix JS bugs
 * Audit post save bail conditions
 * Tweak UI for WordPress 3.3

#### 0.3.0

 * Use the API to change the post type, fixing a conflict with persistent object
   caches
 * No longer requires JavaScript

#### 0.2.0

 * Disallow post types that are not public and do not have a visible UI

#### 0.1.0

 * Release

## Meta

 *  Version **4.0.1**
 *  Last updated **4 weeks ago**
 *  Active installations **200,000+**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 8.0 or higher **
 *  Languages
 * [Albanian](https://sq.wordpress.org/plugins/post-type-switcher/), [Arabic](https://ar.wordpress.org/plugins/post-type-switcher/),
   [Catalan](https://ca.wordpress.org/plugins/post-type-switcher/), [Chinese (China)](https://cn.wordpress.org/plugins/post-type-switcher/),
   [Chinese (Taiwan)](https://tw.wordpress.org/plugins/post-type-switcher/), [Dutch](https://nl.wordpress.org/plugins/post-type-switcher/),
   [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/post-type-switcher/), [English (Canada)](https://en-ca.wordpress.org/plugins/post-type-switcher/),
   [English (South Africa)](https://en-za.wordpress.org/plugins/post-type-switcher/),
   [English (UK)](https://en-gb.wordpress.org/plugins/post-type-switcher/), [English (US)](https://wordpress.org/plugins/post-type-switcher/),
   [Finnish](https://fi.wordpress.org/plugins/post-type-switcher/), [French (France)](https://fr.wordpress.org/plugins/post-type-switcher/),
   [Galician](https://gl.wordpress.org/plugins/post-type-switcher/), [German](https://de.wordpress.org/plugins/post-type-switcher/),
   [Greek](https://el.wordpress.org/plugins/post-type-switcher/), [Hebrew](https://he.wordpress.org/plugins/post-type-switcher/),
   [Italian](https://it.wordpress.org/plugins/post-type-switcher/), [Japanese](https://ja.wordpress.org/plugins/post-type-switcher/),
   [Luganda](https://lug.wordpress.org/plugins/post-type-switcher/), [Marathi](https://mr.wordpress.org/plugins/post-type-switcher/),
   [Norwegian (Bokmål)](https://nb.wordpress.org/plugins/post-type-switcher/), [Polish](https://pl.wordpress.org/plugins/post-type-switcher/),
   [Portuguese (Brazil)](https://br.wordpress.org/plugins/post-type-switcher/), 
   [Portuguese (Portugal)](https://pt.wordpress.org/plugins/post-type-switcher/),
   [Russian](https://ru.wordpress.org/plugins/post-type-switcher/), [Spanish (Chile)](https://cl.wordpress.org/plugins/post-type-switcher/),
   [Spanish (Colombia)](https://es-co.wordpress.org/plugins/post-type-switcher/),
   [Spanish (Ecuador)](https://es-ec.wordpress.org/plugins/post-type-switcher/),
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/post-type-switcher/), 
   [Spanish (Spain)](https://es.wordpress.org/plugins/post-type-switcher/), [Spanish (Venezuela)](https://ve.wordpress.org/plugins/post-type-switcher/),
   [Swedish](https://sv.wordpress.org/plugins/post-type-switcher/), [Ukrainian](https://uk.wordpress.org/plugins/post-type-switcher/),
   and [Welsh](https://cy.wordpress.org/plugins/post-type-switcher/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/post-type-switcher)
 * Tags
 * [page](https://os.wordpress.org/plugins/tags/page/)[post](https://os.wordpress.org/plugins/tags/post/)
   [post type](https://os.wordpress.org/plugins/tags/post-type/)[type](https://os.wordpress.org/plugins/tags/type/)
   [types](https://os.wordpress.org/plugins/tags/types/)
 *  [Advanced View](https://os.wordpress.org/plugins/post-type-switcher/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  234 5-star reviews     ](https://wordpress.org/support/plugin/post-type-switcher/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/post-type-switcher/reviews/?filter=4)
 *  [  3 3-star reviews     ](https://wordpress.org/support/plugin/post-type-switcher/reviews/?filter=3)
 *  [  2 2-star reviews     ](https://wordpress.org/support/plugin/post-type-switcher/reviews/?filter=2)
 *  [  13 1-star reviews     ](https://wordpress.org/support/plugin/post-type-switcher/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/post-type-switcher/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/post-type-switcher/reviews/)

## Contributors

 *   [ John James Jacoby ](https://profiles.wordpress.org/johnjamesjacoby/)
 *   [ Matthew Gerring ](https://profiles.wordpress.org/beatpanda/)
 *   [ Andrew Norcross ](https://profiles.wordpress.org/norcross/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/post-type-switcher/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://wordpressfoundation.org/donate/)