WPBeginner

Beginner's Guide for WordPress

  • Blog
    • Beginners Guide
    • News
    • Opinion
    • Showcase
    • Themes
    • Tutorials
    • WordPress Plugins
  • Start Here
  • Deals
  • Glossary
  • Videos
  • Products
X
☰
Beginner's Guide for WordPress / Start your WordPress Blog in minutes
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

WPBeginner» Blog» WordPress Plugins» How to Limit Authors to their Own Posts in WordPress Admin

How to Limit Authors to their Own Posts in WordPress Admin

Last updated on April 7th, 2015 by Editorial Staff
37 Shares
Share
Tweet
Share
Special WordPress Hosting offer for WPBeginner Readers
How to Limit Authors to their Own Posts in WordPress Admin

If you run a multi-author site, then you know that the post screen can get a bit crowded. Recently one of our users asked if it was possible to limit the WordPress posts screen to only show authors their own post. In this article, we will show you how to limit authors to only view and manage their own posts in WordPress admin.

Hiding posts from other authors in WordPress

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

First thing you need to do is install and activate the Manage/View Your Posts Only plugin. This plugin works out of the box, and there are no settings for you to configure.

If you are logged in with an administrator user role, then you will be able to see all the posts on your site. Users with other user roles will only be able to see their own posts.

How to Allow Editors to View All Posts

The problem with the plugin mentioned above is that it only allows administrators to view all posts. Many WordPress sites have editors responsible for proof-reading articles submitted by other authors and guest contributors. Using this plugin will restrict editors to only their own posts.

In this situation, the plugin we mentioned above will be useless for you.

Instead, you can add this code in your theme’s functions.php file or a site-specific plugin.

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');

This code allows any users with the capability to edit other’s posts to view all posts. This means editors and administrators will be able to see all posts. Users with other roles like contributor or authors will only see their own posts.

If you are using custom user roles on your site, then you need to keep in mind that users who can edit posts added by other users will also be able to see them.

That’s all, we hope this article helped you learn how to hide posts from other authors in WordPress admin area. You may also want to take a look at our tutorial on how to hide unnecessary items from WordPress admin with Adminimize.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Google+.

37 Shares
Share
Tweet
Share
Popular on WPBeginner Right Now!
  • Step by Step Guide: How to Start a Podcast with WordPress

    How to Start Your Own Podcast (Step by Step)

  • Error Establishing a Database Connection in WordPress

    How to Fix the Error Establishing a Database Connection in WordPress

  • Checklist

    Checklist: 15 Things You MUST DO Before Changing WordPress Themes

  • Google Analytics in WordPress

    How to Install Google Analytics in WordPress for Beginners

About the Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

The Ultimate WordPress Toolkit

10 Comments

Leave a Reply
  1. Davood Denavi says:
    Feb 15, 2018 at 1:12 pm

    Does the code mentioned in this article work with all post types? I have some custom post types on a clients site and the plugin worked we do not have time to test the site right now after adding more code and we are trying to allow editors to view all posts.

    Thank in advance for your help!

    Reply
  2. Gulshan Kumar says:
    Jan 9, 2017 at 6:05 am

    How to filter out comments according to currently logged in user?

    I want to restrict listing of all comments for the contributor. I want to allow showing and moderation option only for those posts which belong to them.

    Reply
    • Rohit Mewada says:
      Jan 29, 2018 at 3:39 am

      Same question, how hide comment also from other user.

      Reply
  3. Brandon Evans says:
    Sep 28, 2016 at 6:28 pm

    Does this plugin include hiding of “pages” from non-authors? I see everything listed here says posts but would pages be included in that? Our site uses pages more than posts.

    Reply
  4. Ravijit says:
    Jul 26, 2016 at 7:55 am

    How to hide comments from contributers in wordpress dashboard ???

    Reply
  5. Tom says:
    Apr 25, 2016 at 9:56 am

    Hey there,

    is there a way to exclude specific Post Types from that query ?

    regards Tom

    Reply
  6. Sam says:
    Apr 8, 2016 at 3:34 pm

    What if i have multiple admin and i want admin’s can see only their posts ??

    Reply
  7. barisla says:
    Feb 6, 2016 at 8:47 am

    very useful thanks

    Reply
  8. Charlie says:
    Mar 17, 2015 at 6:32 pm

    Works great. The other problem I have is that it still displays the post count for other users. So for example there are 105 published posts even if the current user only has 2 published posts.

    Any idea how to rectify this?

    Reply
    • Sherwin Ramnarine says:
      Dec 7, 2015 at 8:14 pm

      I realise this is months later so I guess the reply is really for others with the same problem. Try adding this to your functions.php. Think I got it on WordPress.StackExchange.com >>

      // Remove Post Counts

      // Create a specific hook
      add_filter(“views_edit-post”, ‘custom_editor_counts’, 10, 1);

      function custom_editor_counts($views) {
      // var_dump($views) to check other array elements that you can hide.
      unset($views[‘all’]);
      unset($views[‘publish’]);
      unset($views[‘pending’]);
      unset($views[‘trash’]);
      return $views;
      }

      Reply

Leave a Reply Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

Over 600,000+ Readers

Get fresh content from WPBeginner

Featured WordPress Plugin
OptinMonster
OptinMonster
Convert website visitors into email subscribers. Learn More »
How to Start a Blog How to Start a Blog
I need help with ...
Starting a
Blog
WordPress
Performance
WordPress
Security
WordPress
SEO
WordPress
Errors
Building an
Online Store
Useful WordPress Guides
    • 7 Best WordPress Backup Plugins Compared (Pros and Cons)
    • How to Fix the Error Establishing a Database Connection in WordPress
    • Why You Need a CDN for your WordPress Blog? [Infographic]
    • 25 Legit Ways to Make Money Online Blogging with WordPress
    • Self Hosted WordPress.org vs. Free WordPress.com [Infograph]
    • Free Recording: WordPress Workshop for Beginners
    • 24 Must Have WordPress Plugins for Business Websites
    • How to Properly Move Your Blog from WordPress.com to WordPress.org
    • 5 Best Contact Form Plugins for WordPress Compared
    • Which is the Best WordPress Popup Plugin? (Comparison)
    • Best WooCommerce Hosting in 2018 (Comparison)
    • How to Fix the Internal Server Error in WordPress
    • How to Install WordPress - Complete WordPress Installation Tutorial
    • Why You Should Start Building an Email List Right Away
    • How to Properly Move WordPress to a New Domain Without Losing SEO
    • How to Choose the Best WordPress Hosting for Your Website
    • How to Choose the Best Blogging Platform (Comparison)
    • WordPress Tutorials - 200+ Step by Step WordPress Tutorials
    • 5 Best WordPress Ecommerce Plugins Compared
    • 5 Best WordPress Membership Plugins (Compared)
    • 7 Best Email Marketing Services for Small Business (2018)
    • Which is the Best WordPress Slider? Performance + Quality Compared
    • The Truth About Shared WordPress Web Hosting
    • When Do You Really Need Managed WordPress Hosting?
    • 5 Best Drag and Drop WordPress Page Builders Compared
    • How to Switch from Blogger to WordPress without Losing Google Rankings
    • How to Properly Switch From Wix to WordPress (Step by Step)
    • How to Properly Move from Weebly to WordPress (Step by Step)
    • Do You Really Need a VPS? Best WordPress VPS Hosting Compared
    • How to Properly Move from Squarespace to WordPress
    • 5 Best VPN Services for WordPress Users (Compared)
    • HostGator Review - An Honest Look at Speed & Uptime (2018)
    • SiteGround Reviews from 1032 Users & Our Experts (2018)
    • Bluehost Review from Real Users + Performance Stats (2018)
    • How Much Does It Really Cost to Build a WordPress Website?
    • How to Start a Podcast with WordPress (Step by Step)
    • How to Choose the Best Domain Name (8 Tips and Tools)
    • How to Setup a Professional Email Address with Google Apps and Gmail
    • How to Install Google Analytics in WordPress for Beginners
    • How to Move WordPress to a New Host or Server With No Downtime
    • Why is WordPress Free? What are the Costs? What is the Catch?
    • How to Make a Website in 2018 – Step by Step Guide
Deals & Coupons (view all)
ThemeIsle Coupon
Get 10% off ThemeIsle themes when you use this coupon.
Pippity
Pippity Coupon
Save 25% off on Pippity, the ultimate lead generation plugin for WordPress.
Featured In
About WPBeginner®

WPBeginner is a free WordPress resource site for Beginners. WPBeginner was founded in July 2009 by Syed Balkhi. The main goal of this site is to provide quality tips, tricks, hacks, and other WordPress resources that allows WordPress beginners to improve their site(s).

Site Links
  • About Us
  • Contact Us
  • FTC Disclosure
  • Privacy Policy
  • Terms of Service
  • Free Blog Setup
Our Sites
  • OptinMonster
  • MonsterInsights
  • WPForms
  • List25
  • Awesome Motive
  •  

Copyright © 2009 - 2018 WPBeginner LLC. All Rights Reserved. WPBeginner® is a registered trademark.

WordPress hosting by HostGator | WordPress CDN by MaxCDN | WordPress Security by Sucuri.