How to Get 2 People to Approve Content in WordPress

This guide will show you how to get more than one person to approve content before it's published in WordPress.

We received an email from a PublishPress user who wanted to set up a content workflow for their team. They wanted to receive content from Authors, and then get two people to approve it before publishing.

This is the set-up we'll use for this example:

  • Bob. He will write the content. We'll put him in the “Contributor” role.
  • Donald. He will be the first person to check the content. We'll put him in the “Author” role.
  • Jane. She will be the final person to publish the content. We'll put her in the “Editor” role.

Let's show you how this is done in PublishPress:


Step #1. Install the Plugins #

For this tutorial, we'll be using the PublishPress Planner plugin, plus PublishPress Capabilities Pro. Install both of these in your WordPress site.


Step #2. Add the User Accounts #

Our next step will be to create the Author account for Bob, Donald and Jane.

  • Go to Users > Add New.
  • Create new accounts for each author.
  • When creating account, place the user into the “Author” role.
  • Repeat the process for John and Jane, but using the Editor and Administrator role for them. When you've finished, your user accounts page will look like this:

Please note: these roles are only examples. If you already have a busy WordPress site with people in these roles, my advice would be to use PublishPress to create new user groups for this tutorial.


Step #3. Permissions #

Now we're going to control what each user role can and cannot do. PublishPress Capabilities is the way you can customize the default permissions. This plugin controls which statuses are available to which user roles.

  • Go to “Capabilities” then “Settings”.
  • Click the “Capabilities” tab.
  • Enable “Control selection of custom post statuses”.

In the image below, people in the Author role can move content to the “Pending Review” statuses.

Click the “Author” and “Contributor” tab to make sure they can not move change the post status to “Published”.

In this situation, the Editors and Administrators should be the only users who can move content to “Published”.

So, how does this impact our workflow?

  • Bob. He will write the content as “Contributor”. He puts content in the “Draft” status.
  • Donald. He will be the first person to check the content in the “Author” role. He moves content from “Draft” to “Pending Review”.
  • Jane. She will be the final person to publish the content in the “Editor” role. She moves content from “Pending Review” to “Published”.

As with the user roles, these are just example statuses. PublishPress allows you to create your own statuses or change the name of existing statuses.


Step #4. Notifications for Moderators #

Now that our permissions are ready, let's set up notifications so that everyone gets notified at the right times.

  • Go to PublishPress > Notifications.
  • Click “Add New”.
  • Title: Notify Authors of New Content to Approve
  • When to Notify: Here you can choose to notify people when content is moved to the “Draft” status.
  • Filter the content? Choose “Post” as the Post type.
  • Who to notify? Choose the people who will approve the content. In this case, it will be Donald.

Now you can repeat this process and create a notification to email Jane when a post is moved to the “Pending Review” status.


Step #5. Test #

Now your workflow is complete. It's time to test to make sure everything works correctly:

  • Have a “Contributor” user create a post. Can they move the content to “Draft”?
  • Have the “Author” log in. Can they move the content from “Draft” to “Pending Review” status?
  • Do “Author” and “Editor” users get an email when posts need their approval?