I have a custom post type and I would like for it to not use any of the default WordPress post statuses, but instead only use the custom ones I create for it. Is there a way to deregister a post status from a specific post type?

2 Answers 2


There is not a way, but it may be on track as being a feature in Wordpress in the future. https://core.trac.wordpress.org/ticket/23168

Wordpress currently depends on the core statuses, even if you hide them. Woocommerce, for example, has its own statuses for its custom post types, but they still depend on "draft" etc.

I needed this a couple of months ago, and opted instead to use jQuery on the admin pages for the post type to hide all but my own personal statii (plural?) from the status dropdown.

I could be wrong... :)

  • Thanks for the response but I am not referring to the dropdown, but everywhere you see a status. For example the save button on the post is "Publish" which I cannot have. Also, the button "Save as pending" is there as well. Is there anyway to remove these or change them server-side, or do I have to do everything client-side?
    – Kyle
    Commented Nov 10, 2015 at 17:40

Piklist can do this for you. It "removes the default WordPress statuses and replaces them." It's part of their suite of WordPress tools. Details here: https://piklist.com/user-guide/tutorials/creating-custom-post-statuses/

  • 1
    Thanks for your contribution but this is far from being a good answer :(. A good answer should be self contained as much as possible. If you have to link to external resource you should at least summarize what is there. In addition this is a developer oriented site, people come here to learn how to code things, not in search of some 3rd party tools. Commented Apr 14, 2016 at 6:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.