Admin Menu Editor For WordPress

Admin Menu Editor is a WordPress plugin that will let you manually edit the Dashboard menu. You can reorder the menus, show/hide specific items, change access rights, and more.

Features

  • Sort menu items any way you want by simple drag & drop.
  • Move a menu item to a different submenu via cut & paste.
  • Edit any existing menu – change the title, access rights, menu icon and so on. Note that in the free version you can’t relax menu permissions – i.e. give access rights to a role that originally didn’t have them – but you can change them to be more restrictive.
  • Hide/show any menu or menu item. A hidden menu is invisible to all users, including administrators.
  • Create custom menus that point to any part of the Dashboard. For example, you could create a new menu leading directly to the “Pending comments” page.

Here’s a screenshot :

Admin Menu Editor screenshot

This plugin also has a Pro version that offers a bunch of extra features.

Download

admin-menu-editor.zip

The latest version of the plugin is always available on WordPress.org.

Requirements :

  • WordPress 3.0 or later
  • PHP 5.2 or later

Known Issues

The basic idea for the plugin was suggested by several commenters way back in October. However, the internal menu system that WordPress uses is obscure and unsuitable for direct manipulation, so I spent quite a while inventing workarounds. And even after a few weeks of pondering, there are some things I haven’t quite fixed.

  • If you delete any of the default menus they will reappear after saving. This is not a bug, it’s a feature ;)
  • As I mentioned before, the access rights required for using a particular menu item can’t be lowered, but can be made more strict. This has been fixed in the Pro version.
  • Plugin menus that are moved to a different submenu will not work unless you put the full page URL in the “URL” field. This is because WP “ties” the menu item to it’s parent menu and won’t recognize it in a different submenu.
Related posts :

476 Responses to “Admin Menu Editor For WordPress”

  1. White Shadow says:

    That sounds… a little strange. Are really you saying the plugin went and completely rearranged your menu, all on its own?

    In any case, deleting the plugin’s folder – /wp-content/plugins/admin-menu-editor/ – will undo anything it may have inflicted upon to your menu.

  2. Charmed says:

    Ended up removing plugin from plugin folder after http://example.com/wp-admin/?reset_admin_menu=1 wouldn’t work.

    Select “Required capability” to Editor, will show for an Editor but they get “You do not have sufficient permissions to access this page”, when they try to access it.
    But then, it will no longer show for Admin.

    Became aware of this couple of days ago, when I received phone from an editor saying he cant access one particular plugin to edit. Yet he had access a few days before.

  3. White Shadow says:

    Select “Required capability” to Editor, will show for an Editor but they get “You do not have sufficient permissions to access this page”, when they try to access it. But then, it will no longer show for Admin.

    Yes, that’s how roles work in WordPress. Unlike the long-deprecated user level system, roles are not inherently hierarchical.

    If you want a menu to be accessible to multiple roles, you need to use a capability that all of those roles have. For Editor + Administrator that could be “edit_others_pages” or any of the other capabilities that they share.

  4. Hi. I’m trying to give access to a sub-menu item ‘Tools –> Sniplets’. I’ve tried assigning a few different capabilities like ‘edit_pages’, sign out, log back in as Editor role (which has ‘edit_pages’ capabiltiy), but I’m not seeing it.

    Any ideas?

    Thanks,
    Jeff

  5. White Shadow says:

    Right now, this plugin can’t really give users access to menus they couldn’t access before. It’s something that has been on my to-do list for a long time, but the implementation would be tricky.

    In the meantime, there is another way to solve your problem: check what capability the menu item requires by default, and give the Editor role that capability. You can use one of the many role management plugins out there to do this.

  6. Roe says:

    I’m trying to suppress Posts for editors – I’ve hidden Posts (and all its menu items) so that even I the administrator can’t see the Posts (and changed permissions to Admins only).

    But my Editors still can see it.

    Is there something I’m missing?

  7. Vanessa says:

    Hi, I am trying to limit users from seeing their “Profile” in the Dashboard when they log in. Only the administrator should be able to see the “Profile” tab in the Dashboard.

    In your plugin, under Users > Your Profile, I’ve set the required capability to Administrator, but my logged in users can still see their profile in the Dashboard upon logging in. Can you let me know what I’m doing wrong here? Thanks!

  8. [...] 1.0.1 | By Janis Elsts | Visit plugin site  | Price: [...]

  9. Leigh says:

    Hi,

    You said “If you want a menu to be accessible to multiple roles, you need to use a capability that all of those roles have. For Editor + Administrator that could be “edit_others_pages” or any of the other capabilities that they share.”

    We tried this and had no luck, we can see the new menu in the editors admin (whether we put it in as a sub-menu or give it its own menu) but we still get the ‘you do not have permission’ message. The original plugin permission is ‘edit-pages’.

    By the way the short slug url that is in teh original menu does not work so we are going to the page that the original menu links to and then copying the whole page url and pasting it in for the new menu – is that correct?

    Any ideas?

    Many Thanks

  10. White Shadow says:

    Hmm, I was fairly sure that would work.

    If you are trying to move orcopy an existing menu to somewhere else, try copying the entire original item, not just the URL/slug. Select the original and click the corresponding “Copy” button in the editor toolbar, then select the top-level menu where you want it and click “Paste”. Note: this only works with sub-menus.

  11. Leigh says:

    thanks for the quick reply, unfortunately when i try it that way the new sub-menu doesnt even show up at all?! i then added a new quick ‘test’ sub-menu just to double check and that did show.

    just to add i am also using ‘white label cms’ plugin and ‘adminimize’ plugin – do you know of any existing conflicts?

    Many Thanks

  12. White Shadow says:

    Strange, that might indeed be a bug or a conflict. I have not tested Admin Menu Editor with those two plugins, so I can’t say for sure.

  13. Leigh says:

    I tried it again with both of those plugins disabled and got the same result. any other ideas what it might be? Many Thanks.

  14. White Shadow says:

    Sorry, I’m pretty much out of ideas :/

  15. Leigh says:

    Hi, just to let you know that we got this working, there was some code in the 3rd party plugin that meant that the lowest level of access was administrator. we changed this to our newly created user role and then it all worked fine. we also had a simliar issue with another 3rd party plugin and it was the same thing where the plugin had a set minimum user level permission, we lowered it and then that worked fine too!

    Many Thanks for all your help and a great plugin!

  16. MetaHipster says:

    Hi – we got this working great. And then I added the SEO Ultimate plugin. Our client uses an editor role for everything; I see that SEO Ultimate is accessed at /wp-admin/admin.php?page=seo.

    I’ve set the privileges for the SEO menu and all its children from “manage_options” to be “edit_page” so that both editors and admins can access; the button now shows up in the editor’s menu, but clicking the link takes them not to /wp-admin/admin.php?page=seo but instead to /wp-admin/seo (which is 404 error)

    I’ve tried manually typing in the URL admin.php?page=seo for that editor user, but then they get a permissions error. Does this mean that the SEO Ultimate plugin does not allow non-admins to access it? And that your menu plugin can’t override that? I see a known issue related to that but am not clear if it applies to us.

    Thanks!

  17. White Shadow says:

    Yes, unfortunately it’s the same issue. Given the way the WordPress permission system works, there is no way to give someone access to a page that requires a “manage_options” capability short of actually giving that user/role the required capability, or modifying the plugin (i.e. SEO Ultimate) to require a different capability.

    Both approaches have their drawbacks. Giving someone the required capability will also enable them to access all other pages that require that capability, which can be problematic if you want fine-grained, per-menu control. On the other hand, modifying a plugin to use a different capability is easy for a skilled programmer, but the task can’t be fully automated (at least not with complete reliability).

  18. Jen says:

    Most new plugins that I add, add their admin menus without difficulty to the Dashboard menu set. Yesterday I added Zingiri’s “Bookings” (http://www.zingiri.net/plugins-and-addons/bookings/). None of its menus were added, even when I deactivated Admin Menu Editor. I finally had to add them manually. Any idea why this might be the case?

    Thanks

  19. René says:

    Hi, could you please update your plugin so that it works in WP 3.3?
    Thanks…

Leave a Reply