How to Create a Draft / Pending Review / Final Review Workflow in WordPress

PublishPress users often ask us how to create a specific publishing workflow in WordPress.

This week, one user emailed us the graphic you see below, asking how to set up a Draft / Pending Review / Final Review workflow in WordPress. In this tutorial, I'll guide you step-by-step through setting up this workflow.


Step #1. Install the plugins

For this workflow, we're going to use three plugins:

Install these three plugins into your site.


Step #2. Create New User Roles

On an existing WordPress site, there is already an “Author” role. So we will need to create two more roles: “Reviewer” and “Web Master”.

We're going to make two copies of the “Author” role because that role has a good set of permissions for people working with content.

  • Click “Capabilities” in the WordPress admin menu.
  • Choose “Author” in the “Select Role to View / Edit” box.
  • Enter “Reviewer” in the “Copy Author Role” box.
  • Click “Copy”.
  • Repeat that process so you also create a “Web Master” role.

Next, I would recommend placing one test user in each of the three roles. You will need these users in order to accurately test your new workflow.

  • Go to “Users” in your WordPress admin menu.
  • Create or place a user in each of the three roles:

Step #3. Create the Statuses

Now we're going to set up the stages of the workflow: Draft / Pending Review / Final Review.

  • Go to “PublishPress”, then “Settings” in your WordPress admin menu.
  • Click the “Statuses” tab.

Here you can edit the statuses to match your workflow. In this situation, both “Draft” and “Pending Review” are existing WordPress statuses. I would highly recommend keeping both of those. So you only need to create or edit a “Final Review” status.


Step #4. Choose permissions for the Statuses

Now we're going to control who can move content to different statuses.

  • Click “Capabilities” in the WordPress admin menu.
  • Check the box, “Control Custom Statuses”.

Now you can choose the status permissions for each user role. Here are my recommendations for the Author role. Notice that Author does NOT have permissions for “Publish” or for using the “Final Review” status.

In this next image are my recommendations for the “Reviewer” role. Users in this role can “Edit Others” posts, which means they can work on posts created by “Authors”. This role can also move posts to the “Final Review” status.

This next image shows my recommendations for the “Web Master” role. This role has many key extra permissions, including the ability to publish and delete posts. You may want to make some changes here to match your workflow. For example, you may want to remove the ability to delete posts.


Step #5. Test the Workflow

Now it's time to test your workflow. This is easier to do with the User Switching plugin installed.

  • The “Author” can create content. This image is what they will see when creating content: the “Publish” button shows but will not work for them. They can only move content to the “Pending Review” status or save it as a “Draft”.
  • The “Reviewer” can review the content created by Authors. They can either change the status to “Final Review” or return it to “Draft” status.
  • The “Web Master” can approve or publish the content. This image shows what they can see. They can either publish the content or move it back to an earlier stage.

More options with PublishPress

The PublishPress plugins are flexible enough that you can create many variations on this set up.

  • If you want users to discuss the post while working on them, you can use the the Editorial Comments in PublishPress Pro. This would be the ideal way to explain why a post is being rejected.
  • To block Authors from seeing the ideas from other users, try this technique.
  • If you need to assign more than one Author to work on a post, we recommend the PublishPress Authors plugin.
  • To send updates to Authors, Reviewers and Web Masters as content moves through these stages, the PublishPress Pro plugin can send email and Slack notifications.

Your site may have slightly different needs. You can tweak the workflow to meet your needs. Contact us if you need any help at all.


Steve Burge

Steve is the founder of PublishPress. Originally from the UK, he now lives in Sarasota in the USA. (P.S. This profile is generated by the PublishPress Authors plugin)

Leave a Reply

Your email address will not be published. Required fields are marked *

Professional publishing plugins for WordPress! Get PublishPress