I've built a site for a client, only ten pages, nothing especially big, and created a role for the group members called Blogger, as the staff need to all be able to both blog and access a couple of plugins (for a client carousel and to add testimonials). I disabled their ability to edit pages using a plugin called Adminimise as I didn't really want to give them that access and possibly break anything by mistake.

OK - All is well so far? This is where I've discovered Adminimise falls short slightly. What my client requires is that just one page - a page called Trustees - is editable by them so they can add names to an on-going list as required.

How can I make an individual page editable by a non-administrative role whilst keeping the others disabled? I'm praying this is possible, but am not getting very far with Google and have hit a bit of a wall.

  • Welcome to WPSE Andy! Good to have you here. Feel free to take the tour to learn more about the site. – Tim Malone Apr 28 '16 at 21:23

Adminimize does not remove menu items etc, it just keeps them visually hidden. In other words, your admin pages is still accessible.

Add this code to your functions.php file:

add_action('admin_menu', 'edit_trustees_page');
function edit_trustees_page() {
    global $submenu;
    $trustees_page_id = 1; //change this value
    $url = get_admin_url() . 'post.php?post=' . $trustees_page_id . '&action=edit';
    $submenu['index.php'][] = array( 'Edit Trustees', 'manage_options', $url ); // replace manage_options with your custom role

It will add a new submenu to Dashboard. You can change index.php to any of these:

index.php => Dashboard
edit.php => Posts
upload.php => Media
link-manager.php => Links
edit.php?post_type=page => Pages
edit-comments.php => Comments
themes.php => Appearance
plugins.php => Plugins
users.php => Users
tools.php => Tools
options-general.php => Settings
  • Thanks for your quick response! I'm a touch confused by the final output though. What will the new submenu involve? I'm a bit confused as to how this works – Andy Woggle Apr 28 '16 at 21:28
  • It'll add a new submenu under Dashboard menu in admin area. If click this submenu, it'll show you the edit page. – mukto90 Apr 28 '16 at 21:36
  • Sorry. That last comment was a bit garbled. Im a little confused now by manage_options. The greyed out comment "replace manage_options with custom role" By this do you just mean the name of the custom role or? I have got the rest but a little unsure of this. Cheers! Andy – Andy Woggle Apr 28 '16 at 22:22
  • Yes, custom role name. See here- codex.wordpress.org/Function_Reference/add_role – mukto90 Apr 29 '16 at 6:41
  • 1
    I won't add this as an answer, but make sure you have a look at Role Scoper as discussed here on stack exchange or its successor [Press Permit] (wordpress.org/plugins/press-permit-core). They make this stuff a breeze. There's all sorts of other custom systems you can use or create too, of course. – Monkey Puzzle Apr 29 '16 at 7:04

RESOLVED!! It was me missing a trick within Role Scoper. All sorted!

Thanks Mukto90 and Monkey Puzzle for your input.




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