WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a WordPress site where we have external authors for whom we have created usernames at the Editor level. We want these editors to be able to create new posts and modify their own posts, but occasionally we have posts in progress that we'd rather keep more private.

It is a very small pool of users, and an even smaller number of posts to "protect," so I am okay with any technique that requires explicit GRANT for our own users or explicit DENY for the external users. DENY would be easier of course, but I am not going to get fussy.

share|improve this question
up vote 1 down vote accepted

If you look at Wordpress's explanation of Roles and Capabilities, you will see that the correct role you should have assigned them is Author.

That being said, if you for some reason don't want to change them to Authors, you can alter the capabilities that a role has. See the full list of Editor capabilities here.

remove_cap( 'editor', 'read_private_posts' );
remove_cap( 'editor', 'edit_private_posts' );
remove_cap( 'editor', 'delete_private_posts' );

This will permanently remove that capability, so after the wp-admin of the site is loaded once, you can remove these lines or comment them out.

share|improve this answer
Thanks Eric, you are right that Author was sufficient, and I had forgotten about the scope of public / private drafts. Thanks for the help. – Aaron Bertrand Oct 31 '12 at 15:28
Not a problew, @AaronBertrand! – Eric Holmes Oct 31 '12 at 15:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.