How to Create and Use Custom Statuses in WordPress
I’m speaking from personal experience when I say, WordPress statuses are important! They control whether WordPress posts are visible to the entire world, are waiting for moderation, or sent to the trash. If you get your statuses mixed up, you could easily publish private content or hide important information that should be visible by everyone.
In this guide, I’m going to discuss the different statuses available for WordPress posts in three parts:
- The default statuses in WordPress.
- How to create custom statuses.
- How to use statuses to create an approval process for content.
1. The Default Statuses in WordPress
Let’s begin with an introduction to the default WordPress statuses. By default, all posts and pages on WordPress have six visible statuses available:
- Draft: Unfinished posts, not yet ready for publication.
- Publish: Visible to any visitor to your site.
- Private: Viewable by users in the Administrator role.
- Future: Scheduled to go live in the future.
- Pending: Waiting for approval.
- Trash: Ready for deletion
We will use the new Gutenberg editor in this tutorial. But, if you still use the Classic Editor, you will see these statuses in almost identical positions on your site.
Any time you write a post with Gutenberg, you can see these six visible post statuses in the right sidebar. The image below shows these statuses with arrows. You may notice that the statuses sometimes show with different names. For example, “Pending” can also appear as “Pending Review”.
Although six statuses are visible, there are two more statuses in WordPress. You won’t see either of these in the WordPress admin area. First, there is Auto-Draft which holds versions of the post that WordPress automatically saves when you are editing. Second, there is Inherit which allows a child post (examples are Attachments and Revisions) to automatically use the same status as its parent post.
Before we move on, I’ll note that yes – status names can be confusing. In fact, even the name “post statuses” is unclear because the statuses can apply to any content on your site: not just posts.
These basic statuses are great for most sites. However, some publishers do need a more flexible workflow. On bigger websites, the content often goes through different stages. If you decide you need more than what we’ve seen so far, then I recommend the PublishPress plugin. This allows you to customize your content workflow.
2. Create Your Own Custom Statuses
PublishPress is a good choice for WordPress sites that publish high-quality content. Using the Calendar feature, you can see when content is scheduled, and when it was published. There are also flexible Notifications to keep your team up-to-date on all content changes.
PublishPress also allows you to create custom post statuses. Common examples of these statuses are, “In Progress” or “Assigned”, but you can also have “Needs Featured Image”, “Need Legal Review” and other custom choices. With PublishPress, you create statuses to match the stages of your workflow.
After installing PublishPress, you’ll get three extra statuses: “Pitch”, “Assigned”, “Progress”. These new statuses will be immediately visible in the sidebar when you go to write a post:
You have the freedom to customize the statuses. Let’s see how to that:
- Go to “PublishPress” in your WordPress admin menu.
- Click “Settings”, then the Status tab. This next image shows the screen you’ll see:
The customer statuses are on the right side of the screen. By default, “Pitch” comes first, followed by “Assigned”, and so on. You can drag-and-drop statuses to rearrange the order. You can also choose an icon and color for each status.
- Click “Add New” to create a new status. The image below uses a new status called “Legal Review”. This new status will be visible whenever you write posts.
3. Create a Publishing Workflow Using Statuses
Even on the most basic 1-person WordPress site, your content goes through updates and changes. On a busier site with multiple team members, a post can be worked on by writers, photographers, editors, clients, SEO specialists, and more. WordPress sites rely on statuses to know if the content is ready for publication. In this third section, we’ll see how to create an approval process for your content.
In this example, we are writing content together with customers. Our clients will log in to our site and help write and approve content.
To set up a content approval process, you’ll need these three plugins installed:
- PublishPress Authors
- PublishPress Capabilities
For this tutorial we will create a user role that is only for the customers:
- Go to “Capabilities” in your WordPress admin menu.
- In the “Select Role to View/Edit” box, choose “Author”.
- Type “Client” in the “Copy Author Role” box.
- Click the “Copy” button.
Now we’ll use the PublishPress Authors plugin. This step will allow our customers to access the posts.
- Click “Authors” in the WordPress admin menu.
- Type “Client” in the “Automatically create author profiles” box.
Now any new customers will automatically be added as authors.
Let’s now create the “Approved” option that your clients can choose.
- Go to “PublishPress”.
- Click “Settings” then “Statuses”.
- Click the “Add New” button.
- Create a new status called “Approved”.
- Enter a description for this status.
- Click the “Add New Status” button.
Let’s give Clients the ability to use this new “Approved” status:
- Go to “Capabilities”.
- Choose “Client” from the “Select Role to View/Edit” box.
- In the middle of the screen, check the box for “status change approved”.
- Click “Save Changes”.
Before giving your customers access, test your content approval process with a dummy account. One of the easiest ways to test workflow is to install the User Switching plugin. Instead of messing around with passwords, that plugin allows you to move between user accounts with just a couple of clicks.
- Go to the “Users” link in your WordPress admin menu.
- Create a new user in the “Client” role.
Here’s a screenshot of a new client account:
- Click “Switch User” under the username. This is from the User Switching plugin.
- Create a Post.
- In the right sidebar, choose your Client in the “Authors” box.
This does not mean that you have to show your customer as the final author. However, being an author gives special privileges in WordPress. It is one easy way to allow your Clients access to edit these posts.
When your customer logs in and edits the post, they will be able to choose the new “Approved” status. You can see your new status in the image below. On the other hand, perhaps, your customer could choose to enter status you have created such as “Needs More Work”.
One feature of PublishPress that could make this process even more helpful is Notifications. For example, you could send notifications to customers when there is a new post where they are the author. This next image shows how that notification is set up:
Another notification idea is to email yourself whenever a post is moved to the “Approved” status. Here’s what that notification could look like:
More About WordPress Statuses and Workflows
Here are some getting-started guides that will help you plan your own workflows:
- A Draft / Pending Review / Final Review workflow
- A workflow for multiple groups.
- A workflow for Contributors, Authors, and Editors.
- A workflow for a large group of Authors.
- A workflow with Content Editors and Reviewers.
The PublishPress plugin is supported by other plugins that are flexible enough to allow almost any publishing workflow.
For example, if you want users to discuss content, you can use Editorial Comments. Or if you want to credit more than one Author on a post, we recommend the PublishPress Authors plugin. Or to keep your team up-to-date, try the email and Slack notifications.