How to Show or Hide Other Users’ Posts in WordPress

By default, WordPress users which access to the “Posts” screen can see all the Posts on the site, regardless of whether they are the author or can edit then.

This is not a problem for many sites. After all, most Posts on most sites are publicly available – there's no need to hide them.

However, in some situations, site owners don't want authors to see the Posts that other users are working on. Fortunately, there's an easy way to solve this problem thanks to PublishPress plugins.


The Default Post Listing Behavior in WordPress

Normally, on a WordPress site, admin listing access is provided by the “Edit” capabilities. So if a user has the ability to edit a post, they will be able to view that post in the WordPress admin area.

The PublishPress Permissions plugin make it possible to use a separate “List” capability. However, this will only apply if the corresponding “Edit” capability is missing.

This screenshot is from the PublishPress Capabilities screen and shows the “Edit” capabilities. If a user has the edit_posts capability they will be able to see all the posts on the “Posts” screen, even if they can't edit them. If a user has the edit_pages capability they will be able to see all the posts on the “Pages” screen, even if they can't edit them.


How to Hide Other Users' Posts

Hiding posts from other users is possible with the Free or Pro version of the PublishPress Permissions plugin. This plugin allows you to separate the viewing of posts from the Edit capabilities.

  • In your WordPress menu, go to “Permissions”, then “Settings.
  • Click the “Editing” tab and make sure you have the setting “List other user's uneditable posts” unchecked.

After you do that, this plugin will hide all the Posts from other users. When users in the “Author” role go to the “Posts” screen, they will now only see their posts. What this means is that users won't be able to see any posts that they can't edit.

The image below shows what a user in the Author role can see on a WordPress site before PublishPress Permissions Pro is installed and correctly configured.

All Posts shown for an author in WordPress
All Posts

And this next image shows what the same user sees after the plugin is activated and configured. Notice that the numbers across the top of the screen have changed. For example, “Published” has dropped from 3 to 1.

Only My Posts in WordPress
Only My Posts

This setup is fully compatible with the PublishPress Authors plugin so you can still safely assign more than one author to a post. It is also possible to block users from seeing other people's files in the WordPress Media Library.


Change Who Can See Non-Editable Posts

The PublishPress Permissions plugin will hide non-editable posts for all users. You can restore this option for some user roles by installing the PublishPress Capabilities plugin. With this plugin, you will have extra tabs, including these permissions:

  • list_posts: View posts that you can edit.
  • list_others_posts: View posts that you can not edit.
  • list_pages: View pages that you can edit.
  • list_others_pages: View pages that you can not edit.

You can target specific statuses. For example:

  • list_published_posts: View posts in the Published status.
  • list_private_posts: View posts in the Private status.
List Posts

This new screenshot shows what Authors can see now that they have the list_others_posts permission. They can see posts written by other users, but can not edit them.

Updated Authors view in PublishPress Capabilities
Updated Authors

More on permissions in the WordPress admin area

If you're curious exactly what users can see inside your WordPress admin area, check out these guides:


Get all the power of PublishPress

Get a PublishPress membership today for full access to all our publishing and permissions plugins.

Author

  • Steve Burge

    Steve is the founder of PublishPress. He's been working with open source software for over 20 years. Originally from the UK, he now lives in Sarasota in the USA. This profile is generated by the PublishPress Authors plugin.

    View all posts

10 Comments

  1. This plugin is Great..

    But, can you help me. The problem with the plugin mentioned above is that it only allows administrators to view all posts. My question, how to allow Editors to view and edit all posts with this plugin?

    Thanks you….

  2. This method is quite helpful. What if I want to allow a selected user to view and edit another author’s posts? Could you please recommend some solutions? Thank you.

  3. Hi Steve…

    Endo Putra asked a very valuable question. I have a scenario whereby I want admins and editors to view everyone’s posts. However I want to enforce the Authors can only view their posts and no other author’s posts.

    Can this solution fulfill this requirement?

    Please let me know.

    Rob

    1. Hi Jonas. Yes, this will work with CPTs if they use the default “Posts” screen in WordPress. This feature isn’t guaranteed to work if a plugin has custom admin screens.

  4. Hi Steve,
    The functionality described here is awesome – it looks like I have found just what I’ve been looking for. I still have two questions:
    – Will data output generated from a custom form (created with a form builder) be considered a “post”, allowing the granular access rights described here to be applied?
    – If a user can see and edit only their own post, will that user still be able to grant read access to the post or respective page to an external visitor, e.g. by sending them a URL? In other words: can write access to the post/page remain with the author, while the author would be able to share read access on a targeted basis?
    Thanks in advance for your feedback…

    1. Hi Armin
      – If the data is stored in a post type, our Permissions plugin should be able to interact with it.
      – Yes, the Permissions plugin allows you to customize read access on a per-post basis.

Leave a Reply

Your email address will not be published. Required fields are marked *