How to Control Permissions for Custom Statuses

PublishPress Permissions Pro makes it possible to add permissions to custom statuses. For example, you can allow some user to edit posts only if they are in the “Pitch” status.

Let me walk you through an example of how this works. This guide uses three plugins:


How to Add Manage Permissions for Custom Statuses #

In this example, I'm going to customize the Authors role. Normally Authors can only see their own Posts. In this example, I'm going to allow Authors to act as “Editors” but only for Posts in the “Pitch” status. I created the “Pitch” status using the PublishPress Planner plugin.

Our recommended approach is to add roles as shown in this guide. We recommend this approach because it scales efficiently, plus it doesn't require you to create and assign new user roles.

  • Go to Permissions > Workflow Statuses in your WordPress admin area.
  • Under each status, you can click the “Enable Custom Capabilities”. If you click this link, you will now we able to customize the permissions for this status. In this screenshot below, you can see the “Enable Custom Capabilities” link for the “Pitch” status.
  • Go to Permissions > Groups.
  • Click on the name of the group you want to customize permissions for. In this example, we are clicking “Edit” for “Authors”.

The key to controlling permissions for statuses is the “Add Supplemental Roles” feature. For example, you can give Authors an additional “Editor” role but only for posts in the “Pitch” status. Choose the settings in this screenshot below.

  • Post Type: Post.
  • Role: Editor.
  • Statuses: Pitch.
  • Click “Add Role” to finish, then click “Save Roles”.

Now you can test out the new setup.

  • Login to your WordPress site as a user with the Author role.
  • Go the “Posts” screen.

You will be able to edit posts in the “Pitch” status, plus any posts where you are the author of that post.


Introducing The Submitter Role #

When you're assigning Supplemental Roles for status, one available selection is “Submitter”. This is useful feature because it allows users to only submit a post to the specified status. However, users will this role will not be able to interact with the post after submitting it. This role won't be available elsewhere in WordPress – it will only appear inside PublishPress Permissions.