How to Restrict Specific WordPress Authors to Only Have the Ability to Edit Certain Pages
By default, WordPress’ Author role doesn’t allow users set as authors to edit Pages, even though you can assign an author as the Author of a Page. Kind of weird.
Let’s say we have the following scenario:
Mike runs a business called MikeCo. He is the primary Administrator for the business’ WordPress site.
He hires on Tony to take care of the section of the website called Bricks. Bricks is a Page with several child-pages that describe the portion of their business which has to do with bricks in general.
Then he hires on Bob to take care of the section of the website called Mortar. He doesn’t want Tony to be able to edit these pages, nor does he want Bob faffing about in the Bricks section.
Here’s how we set that up:
1. Install the Capability Manager Enhanced plugin.
You can go to Plugins > Add New and search for it there, or just download it directly from WordPress.org here.
Once you’ve got that installed, go to Users > Role Capabilities.
From the Select Role to View / Edit dropdown near the top right, choose Author and click Load.
Next, we want to assign various capabilities under the Editing Capabilities box. Specifically, giving Authors the ability to Edit, Publish and Edit Published Pages. Your needs may vary, but those suit my needs for this project. See the screenshot below:
Click Save Changes near the bottom of the page.
2. Create Some Authors and Assign them to Pages
Now go to Users > All Users in WordPress and either find the user you want to assign to some Page(s) or create a new one. Make sure to give them the Author role.
Finally, go to Pages, select the Page you want to assign them to, and edit it. If you don’t see the Author dropdown box, go up to the top right corner of the page and click Screen Options and then tick Authors.
Now use the Authors dropdown further down the Page to select that particular Author. When they log in, they’ll be able to edit their own Pages, as well as create new ones that they can publish and edit in future as well.