How to Add Custom Post Status in WordPress

How to Add Custom Post Status in WordPress Featured Image

WordPress has multiple built-in post statuses like draft, published, trash, pending, and scheduled. If these statuses are not enough for your workflow, then you can create your own custom post statuses.

WordPress official documentation has a simple way to add custom post statuses to your WordPress site. All you have to do is copy the provided snippet and paste it into the functions file or the functionality plugin. However, for whatever reason, it doesn’t work every time, and the result is a bit finicky. Moreover, the added custom post status will not appear in the dropdown menu without fiddling with some javascript.

So to avoid all the issues that come with adding a code snippet and make things easier, we are going to use a free plugin called PublishPress.

PublishPress is a small yet powerful plugin that is specifically designed to manage editing flow or regular and multi-author WordPress websites. As such, it has a built-in feature to quickly create and add new custom post statuses.

Also read: Top 10 Common WordPress Errors (and How to Fix Them)

Add Custom Post Status to WordPress

1. First, we need to install PublishPress on WordPress. For that, go to “Plugins” and then “Add New.” Here, search for “PublishPress” and click on the “Install” button.

wp-custom-post-status-install-publishpress

2. After installing, go to “PublishPress -> Settings -> Statuses.” This is where we can add our own post statuses.

wp-custom-post-status-publishpress-settings

3. PublishPress automatically adds three new post statuses called Pitch, Assigned, and In Progress as soon as you install the plugin. You can see them on the right panel. To add your own, enter the post status name and description in the “Name” and “Description” fields. If you want to, you can customize the new status with a custom color and icon to differentiate it from other post statuses. Click on the “Add New Status” button.

wp-custom-post-status-new-post-status

4. Depending on the user role, the custom post status you created may not appear in the post or page editor’s dropdown menu. If you want to make the new post status always appear, then go to the “Options” tab and select “Enabled” next to “Always Show Dropdown.” Click on the “Save Changes” button.

wp-custom-post-status-enable-dropdown-for-all-users

5. That is it, you’ve successfully created the new post status.

wp-custom-post-status-new-post-status-added

6. If you want to, you can change the default post status from Draft to whatever post status you want. To change the default post status, click on the “Make Default” link which appears when you hover your mouse over the post status in the same page.

wp-custom-post-status-set-default-post-status

From this point forward, you will see the custom post status appear in the dropdown menu when creating a post or page.

wp-custom-post-status-in-post-editor-screen

Of course, you will also see the new custom post status in the Quick Edit menu.

wp-custom-post-status-in-quick-edit-screen

One thing to keep in mind is when you want to uninstall the PublishPress plugin, you have to manually change the post statuses of all the posts, pages, and custom post types from custom post status to default WordPress post status like Draft before uninstalling.

Otherwise, the posts with custom post status will disappear but NOT be deleted from your WordPress dashboard. The same is true even when you chose to use the snippet provided in the official WordPress documentation. If you accidentally uninstalled the plugin without first changing the post statuses, you can make them reappear by simply reinstalling the plugin from the WordPress repository.

Comment below sharing your thoughts and experiences regarding using the above method to add custom post statuses in WordPress.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Vamsi Krishna Avatar

Read next

Suzanne Simard sealed paper birch and Douglas fir seedlings inside plastic bags, fed them carbon-14 and carbon-13 dioxide, and nine days later found carbon had crossed between species through fungal threads in the British Columbia soil beneath her boots
A species of jellyfish called Turritopsis dohrnii can revert its adult cells back to a juvenile polyp stage when injured or starving, effectively restarting its life cycle, and biologists have so far failed to identify any natural limit to how many times it can do this.
A Japanese man named Jiroemon Kimura, who lived to 116, was born in 1897 when Queen Victoria still ruled and died in 2013, meaning a single human life personally overlapped with the invention of the airplane, the atomic bomb, the internet, and Instagram
The Hollywood sign originally read HOLLYWOODLAND when it was built in 1923 as a real estate advertisement for a housing development, and it was only meant to stand for 18 months, but nobody ever got around to taking it down and the city eventually adopted it as a landmark
Almost all of the world’s internet traffic does not travel by satellite but through fibre-optic cables lying on the ocean floor, a hidden web of wires crossing the deepest parts of the sea to connect the continents.
People who flip their phone face down on every table aren’t being secretive. They figured out that staying interruptible meant handing their time to whoever rang first
Twitch vs. Facebook Gaming vs. YouTube Gaming: What’s the Best Live Game Streaming Platform?
Chrome Extensions Ownership Transfer is a Direct Threat to You: How to Stay Safe