Picture of Amir Vincent
Amir Vincent

Amir Vincent is a digital-marketing entrepreneur and the co-founder and CEO of Canada Create™, a Toronto-based agency specializing in SEO, web design, paid search, and social-media strategies for international clients

Need quick help?Let’s Talk About Your Growth

For a faster response, call (416) 273-9030. Otherwise, fill out the form below and our team will contact you.

This field is for validation purposes and should be left unchanged.
Select the Services(Required)

Mastering WordPress: A Step-by-Step Guide to Restrict Authors to Their Own Posts in Admin

how-to-limit-authors-to-their-own-posts

Want to limit the WordPress post screen to only show authors their own posts? Here's how to limit authors to their own posts in the WordPress dashboard.

At CanadaCreate, we often tailor user roles on our websites. By restricting users to only the tasks essential for their roles, we minimize errors and enhance website security.

Many of our readers have inquired about the possibility of restricting authors to view and edit only their own posts on multi-author WordPress blogs. For privacy reasons, they prefer that contributors do not have access to other authors’ posts until they are published.

It is indeed possible, and in this article, we will guide you through the process of easily restricting authors to only view and manage their own posts in the WordPress dashboard.

Why Should You Restrict Authors to Their Own Posts?

By default, your WordPress site displays all posts and pages to every user, regardless of their role in the admin area. Whether you are an author, editor, contributor, or administrator, you can access all articles.

This typically isn’t an issue if the authors are part of your organization or team.

However, there are situations where limiting access to their own posts is beneficial. For example, if you operate a multi-author website, restricting authors from viewing other writers’ articles under review can be advantageous.

In this article, we will explore how to restrict authors in WordPress so they can only view their own posts in the admin dashboard. Here are the topics we will discuss:

  1. Restricting Authors to Their Own Posts with a Plugin
  2. Enabling Editors to Access All Posts
  3. Bonus: Restricting Authors to Specific Posts or Pages
  4. Comprehensive Guides on Modifying User Role Permissions in WordPress

Restricting Authors to Their Own Posts with a Plugin

By using a WordPress plugin, you can easily configure authors to view only their own posts without needing to edit any code.

In this tutorial, we will utilize the PublishPress Permissions plugin. This free plugin allows you to manage permissions in WordPress and effectively restricts authors to their own content right out of the box.

A premium version is also available in the PublishPress Pro bundle, which includes additional permission settings, such as controlling access to the media library. However, you can begin with the free version.

First, you need to install and activate the PublishPress Permissions plugin. For detailed instructions, refer to our guide on how to install a WordPress plugin.

Once the plugin is activated, it will automatically ensure that authors and editors can only view their own posts in the WordPress admin area.

For instance, if you log in as an administrator and navigate to Posts » All Postsin your dashboard, you will see all the published posts.

However, when you log in to the WordPress admin area as an author, you will only see the posts that you have created.

Posts authored by other users will not be visible to you.

What if you want your editors to have access to all posts for review? Let’s explore how to achieve this.

Enabling Editors to Access All Posts

The limitation of the previous method is that it only permits administrators to view all posts.

Many WordPress sites have editors who are tasked with proofreading articles submitted by various authors and guest contributors. This plugin restricts editors to viewing only their own posts.

However, you can enable editors to review content from different authors by using a plugin like PublishPress Capabilities or by adding custom code to your theme files. We will demonstrate both approaches.

Utilizing the PublishPress Capabilities Plugin

PublishPress Capabilities is a plugin developed by PublishPress. For this tutorial, we will focus on the free version, although a premium version is available with a PublishPress Pro subscription.

Begin by installing and activating the PublishPress Capabilities plugin on your WordPress site. You can refer to our detailed guide on how to install a WordPress plugin.

Once the plugin is activated, click on Capabilities in your WordPress admin menu. This will take you to the ‘Role Capabilities’ page, where you can adjust permissions for various user roles.

Next, choose the user role you wish to modify from the dropdown menu located in the top left corner.

After selecting the ‘Editor’ role, ensure that the checkbox for ‘Edit others’ is checked under the Editing Capabilities settings.

This setting allows editors to modify posts created by other users.

Then, scroll down to the Additional Capabilities section and confirm that the ‘list others posts’ checkbox is checked.

This will enable users with the editor role to view posts from other authors.

Finally, save your changes and navigate to the PostsTo manage your website effectively, log in as an editor. If you can view and edit posts from other authors, your settings are configured correctly.

Incorporating Custom Code into Your Theme

An alternative method for allowing editors to access all posts is to insert custom code into your theme files. However, this approach is not recommended for beginners due to the risk of code errors that could disrupt your website.

For advanced users, you can manually add this code to your theme’s functions.php file, but we suggest using a code snippet plugin like WPCode for ease and safety.

After installing and activating the WPCode plugin, navigate to theCode Snippets » + Add Snippetsection in your WordPress dashboard.

Once there, hover over ‘Add Your Custom Code (New Snippet)’ and click the ‘+ Add Custom Snippet’ button that appears.

This will take you to a page where you can input a custom code snippet. Start by giving the snippet a descriptive title, such as ‘Allow Editors to View All Posts’.

Next, paste the following code snippet into the Code Preview pane:

function posts_for_current_author($query) { global $pagenow; if( 'edit.php' != $pagenow || !$query->is_admin ) return $query; if( !current_user_can( 'edit_others_posts' ) ) { global $user_ID; $query->set('author', $user_ID ); } return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');

Next, select the ‘PHP Snippet’ option from the drop-down menu.

Finally, ensure that you enable the ‘Active’ setting and click the ‘Save Snippet’ button to save and activate the code.

This code allows users with the permission to edit others’ posts to view all posts. This means that editors and administrators will have access to all posts, while users with roles like contributors or authors will only see their own posts.

For further details, check out our guide on adding custom code in WordPress safely.

If you are using custom user roles on your site, remember that users who can edit posts created by others will also see those posts listed in the dashboard.

Bonus: How to Limit Authors to View Specific Posts or Pages

You can restrict authors, editors, contributors, and other user roles to only view, edit, and delete specific blog posts and pages.

With the PublishPress Permissions plugin, you can easily control which posts and pages users can access on your website’s dashboard.

Begin by installing and activating the PublishPress Permissions plugin on your website. For guidance, check out our tutorial on how to install a WordPress plugin.

For example, if you want a particular article to be editable only by the site’s editor, you can set that restriction.

To do this, edit the post in the WordPress block editor and scroll down to the ‘Permissions: Edit this Post’ meta box.

Then, click on the dropdown menu for other user roles and select the ‘Blocked’ option. By default, permissions are set to ‘default: Yes’, allowing everyone to edit the post.

Ensure that the setting for the editor remains on ‘Enabled’ or ‘default: Yes’. After configuring the permissions, remember to update your blog post.

Comprehensive Guides on Modifying User Role Capabilities in WordPress

We hope this guide has helped you understand how to restrict authors to only their own posts in the WordPress admin area. You may also find these articles useful for modifying WordPress user role capabilities:

  • How to Add or Remove Capabilities for User Roles in WordPress
  • Beginner’s Guide to Understanding WordPress User Roles and Permissions
  • Glossary of User Permissions in WordPress
  • How to Allow Contributors to Edit Their WordPress Posts After Approval
  • How to Restrict Editors to Editing Only Specific Pages in WordPress
  • How to Prevent Authors from Deleting Posts in WordPress
  • How to Enable Authors to Revise Their Published Posts in WordPress
  • How to Limit Media Library Access to Users’ Own Uploads in WordPress
  • How to Enable Blog Users to Moderate Comments in WordPress
  • How to Allow Users to Edit Their Own Comments in WordPress

If you enjoyed this article, please subscribe to our YouTube Channel for WordPress video tutorials. You can also connect with us on Twitter and Facebook.

Share This Post