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 4.1 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 :

544 Responses to “Admin Menu Editor For WordPress”

  1. White Shadow says:

    Probably not safe, but I can’t offer anything better at the moment.

  2. Kim says:

    In WordPress 3.1, they’ve added the admin bar which contains links that admins may also want to restrict from certain roles. Will your plugin support removal of the admin bar links as well, or only the sidebar admin menu links?

  3. White Shadow says:

    Perhaps in a future version.

  4. Rich says:

    Shadow,

    Was trying to change the file field in a couple of menu items. Currently had something like blah.php in the file field. With the actual blah.php located in the wp-admin directory.

    Wanted to move blah.php up the tree 1 level then back down into another sub directory. Couldnt figure out the syntax for the file field.

    had the blah.php in /blah vs. /wp-admin. I changed the file field to /blah/blah.php it gave the error

    Warning: require_once(./admin.php) [function.require-once]: failed to open stream: No such file or directory in /home/philippi/public_html/blah/blah.php on line 10

    Fatal error: require_once() [function.require]: Failed opening required ‘./admin.php’ (include_path=’.:/usr/local/php5/lib/php’) in /home/philippi/public_html/blah/blah.php on line 10

    any htoughts?

  5. White Shadow says:

    Try using an absolute URL, e.g. “http://example.com/blah/blah.php”.

  6. Webmaster says:

    Can I hide menu only for users but not for administrator?

  7. White Shadow says:

    Yes. If you set “Required capability” to “Administrator”, only the administrator will see the menu.

  8. Leo says:

    Hi White Shadow:

    When I try to activate the plugin, appears the following fatal error:

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /home/rm000884/public_html/wp-content/plugins/admin-menu-editor/includes/menu-editor-core.php on line 18

    Can you hejp me?
    Thanks

  9. White Shadow says:

    Your server is probably running PHP 4. This plugin requires PHP 5 or later.

  10. Scott says:

    The plugin is looking very good as it is, however there are some bug’s that I’ve found. At least I think they are bugs…

    the WP 3.1 admin bar links to specific things like New Posts (/wp-admin/post-new.php), Manage Posts (/wp-admin/edit.php), and Manage Comments (/wp-admin/edit-comments.php). Even if you’ve successfully removed them from the admin menu (the left aligned column menu) those links are still functional.

    Custom Post Types don’t seem to be worked out yet. You can hide them, but I can’t quite get them to be useable. For instance I want Authors to be able to see my Custom Post Type and everything within. Took me a few minutes but I figured out that you have to hit the “custom” check box to get them to show up on the left.

    However even with the permission set at Author, if you click on the Custom Post Type menu all I get is a nearly blank page that reads “Invalid post type”.

    Other than that, It looks really really good! Very easy to use and figure out. With the progress you’ve made on it this far I have to give you props.

    Unfortunately for me however, the Custom Post Types are kinda a show stopper for me. I need those to work 🙁

    Hope you get it working, I’ll check back soon!

  11. White Shadow says:

    The plugin isn’t really aware of the admin bar, so it’s no wonder that hiding links from the menu would do nothing for those in the admin bar. A partial workaround would be to set their permissions to something that only you can access. They’ll still show up in the admin bar, but they won’t work.

    Are those custom post types added by a plugin? There might a priority conflict there or something of that sort.

    Also, it’s generally a bad idea to fiddle the “Custom” checkbox unless you really know what you’re doing; it can lead to weird results. Theoretically, just changing permissions should be enough to hide the menu items from everyone but those that are allowed to see them.

  12. Kaz says:

    Hi, love this plugin but having a bit of a problem. I have an FAQ plugin and the FAQ bits show up in the Menu Editor but when I set access to author, my user can see them, but I (administrator) can’t manage them anymore. FAQs shows up on my dashboard but when I click it I get “You do not have sufficient permissions to access this page.” The url it is trying to access is /wp-admin/edit.php?post_type=qa_faqs. This seems a bit bizarre as authors can access them but administators can’t. Any help, much appreciated. Thanks

  13. White Shadow says:

    Despite appearances, the access permission system used by WP is not inherently hierarchical. It’s actually capability-based – each role (e.g. Author or Editor) has a list of things they’re allowed to do (capabilities).

    Whenever a user tries to do something, WP checks if that thing is in the user’s list of capabilities. If it is, they’re allowed to proceed. If it’s not, they get an error message.

    Since only users with the Author role have the special “Author” capability, menu items set to “Author” are accessible only to Authors and not anyone else.

    There are two ways to make a menu accessible to Authors and all “higher” roles:

    1) Set the menu access to a made-up capability like “edit_faq”, then add this capability to the Author role and all roles above it. This will require a separate plugin.

    2) Set the menu to a capability that Authors and above already have, e.g. “edit_posts”. You can find a list of roles and capabilities here.

  14. Kaz says:

    Thanks for the quick response. As you say, I was incorrectly assuming it was authors and above rather than just authors. Cheers

  15. Borys says:

    Hi,
    I have one problem with this plugin – when I try to select some menu items that I want to hide from editor’s (click -> ‘administrator’ from ‘Required capability’ field) it doesn’t work. Editor’s still see this field. What I do wrong or what’s with this plugin?

  16. Borys says:

    one thing I use wp 3.0.1

  17. I’m using this in a site I’m developing, in fact I use it in all the sites I develop. However a weird thing has happened. There are no menu’s showing up at all when I go to the settings page. They’re blank. I’ve tried the reset in the “read me” file but no luck. Any suggestions?

  18. White Shadow says:

    @ Borys: Very strange. Maybe you could try using a different administrator-only capability, like “activate_plugins” or “update_core”.

    @ John: Sounds like a JavaScript error. The editor is built entirely on JS, so if an error stops script execution, you’ll get a blank page. Check your browser’s error console for clues.

  19. MDA says:

    How can I delete admin-menu-editor settings from Database? I made my admin panel unreachable (HIDDEN) for even ADMINISTRATOR.

    when I open this page:
    options-general.php?page=menu_editor&message=1
    It says:
    You do not have sufficient permissions to access this page.

    what can I do?

  20. White Shadow says:

    You can reset the menu back to the default configuration by going to:
    http://yoursitehere.com/wp-admin/?reset_admin_menu=1

    Note that you must be logged in as an administrator for the above to work.

Leave a Reply