How to Customise Your Content Workflow Using WordPress Statuses?

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:

  • #1: we’ll explain the default statuses in WordPress.
  • #2: we’ll see how to create custom statuses.
  • #3: we’ll use statuses to create an approval process for content.

Ready to go? Let’s dive in and see how post statuses work in WordPress.


Part #1. The Default Statuses in WordPress

I’m going to start by giving you a tour of the default WordPress statuses. Let’s see what they do and where you can find them. By default, all posts and pages on WordPress have six visible statuses available:

  1. Publish: Posts in this status are viewable by any visitor to your site.
  2. Future: These posts are scheduled to be published in the future.
  3. Draft: This is an incomplete post or first draft that’s not yet ready for publication.
  4. Pending: These posts are waiting for approval.
  5. Private: These are only viewable by users at the Administrator level.
  6. Trash: These posts need to be considered for deletion.

I’m going to primarily focus on the Gutenberg editor in this blog post. However, if you use the Classic Editor, you will see these statuses in very similar locations.

When you’re creating a post in the Gutenberg editor, you’ll be able to see these 6 visible post statuses on the screen. The image below shows where you can configure each status. These statuses sometimes appear with slightly different names, but the functions are the same. For example, “Pending” is also sometimes shown as “Pending Review”.

Gutenberg has 6 post statuses

Technically, there are also two more statuses working behind the scenes. These are statuses that you won’t see in the WordPress admin area and are mostly of interest to developers. Here’s a little more about them:

Additional WordPress Statuses:

  • “The Auto-Draft status” is for copies of the post that WordPress saves automatically when you are editing.
  • “The Inherit Status” allows a child post (such as Attachments and Revisions) to automatically adopt the same status as its parent post.

By the way, it’s not just the name of the statuses that can be confusing. The name “post statuses” is a little confusing because these statuses can apply to any post type – not just articles.

This is where you might feel the need for a customised workflow. Many publishers need a more sophisticated process than Draft / Pending / Published. If you’ve worked on larger websites, your content often goes through different stages. You can personalise your content workflow in WordPress with a plugin called PublishPress.


Part #2. Create Custom Statuses in WordPress

The PublishPress plugin allows you to create custom post statuses such as “In Progress” or “Assigned”. With PublishPress, you can define statuses to match the stages of your team’s publishing workflow.

PublishPress plugin

When you first install PublishPress, you’ll see these extra statuses: Pitch, Assigned, and In Progress. PublishPress will also make some of the default statuses more visible:

Extra statuses include Pitch, Assigned, and In Progress

You have the liberty to customize these statuses however you want.

  • Navigate to “PublishPress” in the admin menu, and click “Settings”.
  • Click the “Statuses” tab. This is the screen you will see:
Click on statuses

You’ll see the current statuses section on the right side of the screen. You can drag-and-drop statuses to set the best order for your workflow. By default, “Pitch” comes first, followed by “Assigned”, then “In Progress”, then “Draft” and finally “Pending Review”. Each image has its own icon and color for better identification. On the left side of the screen, you can click “Add New” to add your own new statuses.

Add new statuses

These new statuses will be available when you create posts and pages. You’ll also be able to see those statuses on the main PublishPress calendar screen (see image below). You can clearly see which content is scheduled for which date and which statuses each post is in.

Content Calendar


Part #3. Use Statuses to Create an Approval Process

All content that we publish tends to go through multiple iterations and revisions. The first draft is pricked and prodded by editors, clients, SEO specialists and other writers before being pushed to publishing. We rely heavily on statuses to determine if content is approved or rejected. In the third part of this guide, we’re going to discuss how to create an easy approval process for your content.

Let’s imagine we are writing content for clients and those clients need to log in to our site and approve content.

Requisites for a content approval process

To set up a content approval process, you’ll need these three plugins installed:

  1. Multiple Authors
  2. Capability Manager Enhanced
  3. PublishPress

For this process, I recommend creating a new user role that is only for the clients.

  • Go to Users > Capabilities in your WordPress admin menu.
  • Choose “Author” from the “Select Role to View/Edit” box.
  • Enter “Client” in the “Copy Author Role” box.
  • Click “Copy”

Here’s an image of what that would look like:

Create a new user role only for clients

Next, you will need to configure the Multiple Authors plugin. This step will automatically turn your clients into users who are able to access and edit your Posts.

  • Go to “Authors” in your WordPress admin menu.
  • Enter “Client” in the “Automatically create author profiles” box.
Automatically create author profiles

This next step will create the “Approved” (or perhaps “Rejected”) option that your clients can choose.

  • Go to PublishPress > Settings > Statuses.
  • Click “Add New”.
  • Create a new status. I recommend calling this “Approved” or “Client Approved”.
  • You can enter a description for this status so users know it’s purpose.
  • Click the “Add New Status” button.
Add new status

You can also customize this step further. For example, you can create statuses for rejection such as “Not Approved” or “Needs Changes”. Your clients could move posts to these statuses if they’re not ready to approve the content. Finally, let’s give Clients the ability to use this new “Approved” status:

  • Go to User > Capabilities.
  • Choose “Client” from the “Select Role to View/Edit” box.
  • Check the box for “status change approved”.
  • Click “Save Changes”.

Make sure to select the permissions for other statuses if you created more.

Select the permissions for other statuses

How to test your content approval process?

Just like how you should first test updates and changes on a staging environment, you should first test your content approval process with a dummy account. This will help you sort out the kinks, before you start using this for communication with your clients.

To test your process using a dummy account:

  • 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:
Test your process using a dummy account

Testing the Approved Process

Now that we have a client user, we can test out the approval process.

  • Go to create a Post.
  • In the right sidebar, choose your Client as the Author of the post.
Test out the approval process

Please note: This does not mean that they have to be shown as the eventual author of the post on the front of the site. But the “Author” status brings special privileges in WordPress, and it’s an easy way to allow your Clients access to edit these posts.

I would recommend that you log out and try to log in using your dummy client account. When the client user logs in and clicks “Posts”, they will only see Posts where they are Author. They won’t see content for your other clients. This is a very useful feature of the Capability Manager Enhanced plugin.

See all posts from only one author

When the Client edits the post, they will be able to choose the “Approved” status if they’re happy with the content. You can see that status in the screenshot below. Alternatively, the client could move the post to another status you have set up such as “Needs More Work”.

You can move posts to other statuses

You can also configure what statuses a Client can see:

  • Go to Users > Capabilities.
  • Choose “Client” from the “Select Role to View/Edit” box.
  • You can choose which statuses the Client has permission to use:
You can choose which statuses the user has permission to use

How Notifications can simplify your process further?

One thing that could make this process even more helpful is the Notifications feature of PublishPress. For example, you can send a notification to Clients whenever there is a new Post where they are the author. Here’s what that notification could look like:

Setting up notification

You can also create a notification to email you when a Post is moved to the “Approved” status. Here’s what that notification might look like:

Setting up notifications


A Word of Caution

When you’re creating multiple users, you need to understand that you are also creating multiple access points. Make sure you are using login protection for your WordPress Admin. I would recommend the MalCare plugin that uses Captcha based login protection to prevent bots and hackers from gaining access to your site. It’s powerful firewall coupled with its regular scans and instant malware removal makes it our safety net against any security issue.


More Reading on WordPress Statuses

If you care about the content on your WordPress site, it’s worth taking a few moments to understand these statuses and what they do. Statuses really are very powerful features in WordPress.

As is the case with most functions on WordPress, if you need a certain functionality, there is bound to be a plugin for it! The three plugins discussed above may seem like added expenses and require more effort, I make no bones about it. But in the long run, it will make your content process more efficient and seamless. It is definitely worth creating your own customised workflow.

On a personal note, customising our workflow has really helped our content team streamline our content and decrease our turnaround time. We definitely recommend it for any content process that involves multiple people.

How do you tackle your content process? Do you use any other tools?


Akshat is the Founder and CEO of BlogVault, MalCare, and WP Remote. These WordPress plugins, designed for complete website management, allows 100,000+ customers to build and manage high-performance websites with ease.

Copy link
Powered by Social Snap