Admin Menu Editor For WordPress
Here is my latest and hack-iest plugin yet – Admin Menu Editor. It’s 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. The plugin is still a bit rough around the edges, so a good understading of WP internals is recommended (but not required).
Features
- Sort menu items any way you want by simple drag & drop.
- Move a menu item to a different submenu via cut & paste. Note that if you move an item that belongs to a plugin, you will need to modify the “File” attribute to point to the right parent file (e.g. instead of “akismet-key-config” use “options-general.php?page=akismet-key-config”).
- Edit any existing menu – change the title, access rights, menu icon and so on. Note that you can’t lower the required access rights, 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 :
Download
admin-menu-editor.zip (33 KB)
Requirements :
- WordPress 2.7 or later
- PHP 5 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. I think.
- Also, a plugin’s menu that is moved to a different submenu will not work unless you also include the parent file in the “File” field. This is because WP “ties” the menu item to it’s parent menu and won’t recognize it in a different submenu.
- If you create a custom menu (or change the “File” setting of an existing menu), be sure to tick the “Custom” checkbox. Otherwise that item will not show up in the final Dashboard menu.
Merry Christmas, by the way

[...] Admin Menu Editor For WordPress | W-Shadow.com [...]
[...] is a nifty plug-in called Admin Menu Editor by W-Shadow which can quickly resolve this. I tried once to manually edit the PHP files for the toolbar, it was [...]
Hi White shadow,
Great plugin exactly what i needed for a project, however i stupidly hid the settings and plugins menus doh!! and now i dont know how to revert to the default menu (because i hid the settings menu i cant access the admin editor settings) is there any way to manually revert to defaults?
cheers
Indeed there is. Just open http://example.com/wp-admin/?reset_admin_menu=1 in your browser (replace example.com with your blog’s address).
Hi Whiteshadow,
Cheers for the fast reply, I tried the fix as you suggested but it didnt seem to have any effect i neglected to mention the site is on a wordpress mu installation would this be the culprit?
thanks in advance
Are you logged in as the (super) admin? You need to have menu editing permissions for that URL to do anything.
yep im logged in as (super)admin, i cleared browser cache as well to no effect
Well, that’s… interesting. I have no idea why it doesn’t work.
Anyway, if you have direct access to the database, you can also reset the menu by deleting the “ws_menu_editor” option from the “wp_options” table.
Perfect!! that did the trick, thanks for the help!
Hi,
I was wondering if you could help me with this plugin. I am having some issues with it to get it working for different access levels.
I have an ‘Ad manager’ installed, which appears under ‘Settings’ main tab in the admin panel.
‘Admin’ has the rights to upload banners using this plugin and I want ‘editor’ to be able to do that too. I have tried changing the ‘Required capability’ to ’7′, which is the access value for ‘Editor’ in WP database. But it doesnt seem to work.
Any ideas why? Any help will be much appreciated.
Due to the way menu permissions are handled by WordPress, it is not possible to make them less restrictive. Your best bet would be contacting the author of “Ad manager” and asking them to make the plugin’s settings accessible to editors.
Ok, I will try contacting the plugin’s author. Thanks.
having some issues with this plugin… running 3.0.1
…
no default menu comes up in the settings. nothing.
none of the buttons work or are clickable.
any known conflicts with this?
using Firefox.
No known conflicts with WP 3.0.1, but could be a conflict with another plugin. Anything in the browser’s error console?
Error: menuBox.sortable is not a function
Source File: http://xxxxxxxxxxxxxxxxx/wp-content/plugins/admin-menu-editor/js/menu-editor.js?ver=1.0
Line: 422
In the FF error Console.
Try this and tell me what error message it displays now (you might want to take a screen-shot).
You can do this outside plugin usage..
Instead of using add_submenu_page(), etc..
Hook onto admin_menu, but instead globalise the $submenu / $menu vars and add the submenu items manually into the array, else WP won’t deal with the URL/Link correctly, since “all” menu items are prepended with the local site’s URL.
Post on the WP support forums (post in the hacks forum), and i’ll provide an example.
Last response was to anwer Tim who asked about linking menu items to offsite URLs, seems the reply to feature isn’t enabled here, and even replying (if you form the URL) does stack the response under the relevant comment (that’s why my comment seems out of place).
Hi
i have a problem
”
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homez.348/boitebis/www/wp-content/plugins/admin-menu-editor/includes/menu-editor-core.php on line 18 ”
do u know why ?
thank u so much i really appreciate ur plugin ^^
It looks like your server is running PHP 4, which is not supported by Admin Menu Editor. You’ll have to upgrade to PHP 5 if you want to use this plugin.
reallyyyyy Oo oops ^^
that’s true…
thank u !!!!
Sorry this question is unrelated to your plugin (though it did give me that thought). Is it possible to override the placement of a plugin menu with another plugin? So when plugin A is activated it will move the menu of Plugin B. For instance WP DB Manager would get moved all the way up under Dashboard. Does that make sense? Thanks!
That’s exactly what Admin Menu Editor is for. One of it’s functions is moving and sorting menus.
Of course, it is also be possible to make a simpler plugin that changes the placement of only one or two pre-defined menus. Basically, all you’d need to do is move around the elements of the global $menu array.
hi i m using wp 2.9 , and upload this plugin. but it is not working.
no function at the top panel is not working. please help
I have created a user category “Manager” and definied the capabilities using capability manager. However, no matter what I do, I can’t get the Plugins menu to show up – I want them to be able to view/add plugins, but not edit.
Do the users have the “activate_plugins” capability?
Love this plugin, by far the best I have used for menu management. I use it together with User Role editor.
Two flaws I found it using it so far…
1. For some reason, I can’t hide the Links section
2. It can’t hind NE Gallery plugin.
Besides that.. it’s awesome!
Interesting, I can hide both easily on my test site. Have you changed anything else about those menus?
I use your plugin together with another plugin called User Role Editor. I think they work well together in most cases, but for some reason those two options above don’t work.
With User Role Editor – I created a new “user role” called “Manager”. and removed several options from this role, such as managing links.
With your plugin I set most menus and submenus I don’t want to use to Administrator only and the ones I want to use to “Manager”.
I set the “Links” section to administrator but it’s only hidden when I disable the “Manage Categories” role.
It’s complicated, but there’s some conflict. I have to look closely later on to see how it all works.
Given that the “Manager” role doesn’t have the caps for managing links, what happens when you actually click on that menu?
If it’s visible but inaccessible, you could simply hide it using the gray “Hide” button in Admin Menu Editor.