A WordPress Editorial Workflow for Writing, Reviewing and Publishing

One PublishPress user came to us and wanted to set up this workflow on their WordPress site:

  1. Contributors pitch a story idea.
  2. Editors review the pitch, and either approve it and assign it to an author or reject it. 
  3. Authors and Editors work on the story. The Authors cannot publish, but the Editors can publish when they are happy.

In this tutorial, I'll show you how to set up this publishing workflow. To follow along, you will need these plugins:


#1. Contributors pitch story ideas #

Let's start by setting up our Contributor users. If you need some background, these are the default permissions for Contributors.

We are going to allow Contributors to save posts as “Pending Review“. The “Pending Review” status indicates that the story ideas is waiting for feedback from Editors.

  • Go to the “Settings” area in PublishPress Capabilities Settings.
  • Check the “Control selection of custom post statuses” box.
Custom Statuses
  • Go to the “Capabilities” screen.
  • In the top left corner, choose the “Contributor” role:
  • In the center of the screen, choose the statuses you want the Contributors to use. In this example, I allowed them access only to “Pending Review”:
Customs Status Control
Customs Status Control
  • Log in as a Contributor user. If you want to speed up this process, try the User Testing feature.
  • Create a new post. This image below shows what you should see as a Contributor user. You can click “Save draft” which means you can continue to work on the post. Or you can click “Publish”.
Contributor Submit Draft
Contributor Submit Draft
  • If you click “Publish”, you only have access to the “Submit for Review” status:
Contributor Submit Review
Contributor Submit Review
  • This post will be available on the main “Posts” screen and marked as “Pending”:
Posts Screen Pending Review
Posts Screen Pending Review

#2. Editors review the pitch and assign authors #

Now you can move to setting up the Editors role.

  • Go to the “Capabilities” link in your WordPress admin menu.
  • Choose the “Editor” role.
  • Choose the statuses you want the Editors to use. In this example, I allowed them access to “Pending” and “Assigned”:
Editor Custom Status
Editor Custom Status
  • Log in as a Editor user.
  • You will be able to go to the “Posts” screen and see the ideas submitted by Contributors.
  • Edit a post that has been submitted by a Contributor. You will be able to read the post and evaluate the quality.
  • If you want to approve the post and move it on to an Author, look in the right sidebar. Here you can choose the Author you want to work on the post, and you can set the status to “Assigned”.
Author Post Status
Author Post Status
  • In the top toolbar, click “Save as Assigned”:
Save As Assigned
Save As Assigned

This post will now be visible on the main “Posts” screen and labeled as “Assigned”:

My Content Assigned
My Content Assigned

#3. Authors and Editors work on the story #

This final stage is almost ready to go. Both Authors and Editors can log in and edit this post.

However, we do need to make one change to match the original request. We need to stop Authors from publishing posts. Click to see the default permissions for Authors.

  • Go to the “Capabilities” link in your WordPress admin menu.
  • Choose the “Editor” role.
  • Uncheck the “Publish” box in the “Posts” row:

Now Authors will be able to update their own posts, but they won't be able to publish them.

However, Editors will be able to log in and click “Publish” when they are happy with the post.