Tracking down a mostly working solution for this problem took most of my day today. On the LIS website, I want certain groups/people to be able to edit their own pages of the website but not be able to edit anything else. This solution takes a couple steps.

  1. First, designate a user (or users) to the role of Editor via Users > Users. Check the box next to the user and then select “Editor” from the drop down menu.
  2. Add the code from this link to your functions.php page. Include the second bit of code in order to have all your bases covered.
  3. Download the Members plugin and install it.
  4. Go to Settings > Members Components.
  5. Check “Edit Roles” then go to to Users > Roles.
  6. Hover over Editor until “Edit” appears. Click on “Edit.”
  7. Make sure only these boxes are checked: edit pages, publish_pages, edit_published_pages, read, and upload_files
  8. Download the WP Hide Dashboard plugin.
  9. Unzip WP Hide Dashboard in your favorite text editor (I’m using Dreamweaver presently) and open the wp-hide-dashboard.php file.
  10. Follow the directions on this page to hide the “Dashboard link, Tools menu, Personal Options, and Help options from other roles besides Subscriber.” Basically, you’re changing edit_posts to manage_options. Hit save.
  11. If you can, rezip the file and then upload it via WordPress’ dashboard, otherwise you’ll have to upload the unzipped file via FTP to wp-contents/plugins.
  12. Activate as per normal.

If you can, log into the account of an editor and make sure that they can only edit the page that they’ve created. When you’re on the main page of your website logged in as an editor, the “Edit this entry” text will only appear on pages that they’ve created. Some boxes are still appearing such as “Links, Pages, and Profile” but I don’t know how to disable them yet.

Tagged with:
 

5 Responses to How to make editors only able to edit their own page in WordPress

  1. [...] Yep. Just done something similar. All you need to know.. [...]

  2. [...] nicht von Haus aus mit. Nach einigem Suchen habe ich eine Lösung gefunden, die hier Schritt für Schritt beschrieben [...]

  3. Fausto says:

    Amazing tutorial!
    All things work, but one: the editor can edit ALL the pages of the site.
    How can I force the editor to edit a SINGLE page?
    Thanks

  4. admin says:

    I haven’t checked it in a while, but when I wrote the tutorial, my other editors could ONLY edit a single page that I had assigned them to. I’ll have to double check on it.

    Thanks for the heads-up that WP may have changed!

  5. Jared Meakin says:

    This is awesome!

    I’ve been looking for a solution to this problem since WP’s built-in roles & capabilities is a bit lacking. This saved me several hours of research, works as advertised, and is much appreciated.

    Thank You! :)

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>