Add Custom Post Statuses in WordPress with PublishPress

PublishPress plugin

PublishPress Statuses is a must-have WordPress plugin if your blog has multiple contributors. It features several tools that will help you improve your blogging workflow.

Learn in this blog post how to create custom statuses for your WordPress blog posts. This allows you to go beyond the basic post statuses provided in WordPress.

What are post statuses in WordPress?

Out of the box, every blog post in WordPress has only 8 default statuses available:

  1. Publish: Viewable by everyone
  2. Future: Scheduled to be published in a future date
  3. Draft: Incomplete post viewable by anyone with proper user role
  4. Pending: Awaiting a user with the publish_posts capability (typically a user assigned the Editor role) to publish
  5. Private: Viewable only to WordPress users at Administrator level
  6. Trash: Posts in the Trash are assigned the trash status
  7. Auto-Draft: Revisions that WordPress saves automatically while you are editing
  8. Inherit: Used with a child post (such as Attachments and Revisions) to determine the actual status from the parent post

Why do you need custom post statuses?

This kinda restricts your creativity, doesn’t? You might be already thinking how cool it would be to add your own custom statuses, something like these:

  • Needs Proofreading
  • Pending Intro Images
  • Needs Kiss of Life
  • Waiting for Images
  • Needs Formatting
  • Archive
  • Evergreen 

The only way you can do it at the moment is either to hardcode your own custom statuses with the register_post_status() PHP function or to use a third party plugin. The PublishPress Statuses plugin allows you to easily create as many custom post statuses as you wish.

Read on and learn how you can do just that.

How to create custom post statuses

  • Once you install and activate the PublishPress Statuses plugin, click on the “Statuses” link on the left sidebar.
  • You will see a feature called the “Main Workflow“. This is the required workflow that all your posts must pass through before they are published.
  • The “Draft” status is fixed because moving it would break other parts of WordPress. But after “Draft”, you can customize the other workflow steps. You can drag-and-drop the statuses into new positions. You can also change the icon and color for each statuses.
PublishPress Statuses overview screen

One very useful feature is that you can choose which users are able to move posts to each status. In this screenshot below, only users in the Administrator role can move content to the “Assigned” status.

PublishPress Statuses Assigned

This next screenshot shows how the plugin shows the statuses in the block editor. You can choose to keep the current status or move the post to the next status. You can also publish the post if you have enough permissions.

PublishPress Statuses workflow screen


  • Alex Smirnov

    Born from Ukrainian mother and Russian father, Alex migrated to the United Kingdom in 1999. He is a self-taught Microsoft Certified Professional. He enjoys learning content management systems and helping web site developers make the most of them.

0 0 votes
Article Rating
Notify of

Newest Most Voted
Inline Feedbacks
View all comments
Mahen Patil
Mahen Patil
6 years ago

I have installed it but I am not getting it proper. it’s setting and process

6 years ago
Reply to  Mahen Patil

in case you have issues with PublishPress plugin., please open a support ticket on PublishPress plugin website and we will be glad to help you to solve them

Would love your thoughts, please comment.x