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
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 :)
Related posts :
hi Janis,
1- I have triple checked the installation instructions and I am sure I am not missing anything including Moving admin-menu-editor-mu.php, from the “admin-menu-editor” directory to “mu-plugins” directory.
the menu for plugin is just not showing up under setting’s panel both for multisite and single site installations, I don’t get any kind of errors though (I am running WP 3.3.1)
2- An amazing thing does happen, Later when i try to install the plugin thru add-new option from browser [without deleting the old plugin files from "/wp-content/mu-plugins" folder.] It says the plugin is already installed, this indicates Plugin for Multisite installs sucesfuly but its Menu is just not showing up in the settings panel.
-also if Chris could share how he got it working.
*ADD
I have tried deactivating all other plugins, even then no luck :(
Just to clarify, you have moved both the “admin-menu-editor” directory and the “admin-menu-editor-mu.php” to the “mu-plugins” directory, yes?
Note that the menu entry for the plugin will only show up when viewing a site-specific dashboards, not Network Admin -> Dashboard. Yes, this is somewhat counter-intuitive.
Hi!
First off I’d like to thank you for this plugin, it’s great! I accidentally hid the settings menu along with all of it’s sub-menus… this includes the settings for the plugin. (Stupid mistake on my part.)
I tried uninstalling the plugin and as expected all the default menu items were visible. But when I reinstall the plugin the same settings I set up in the plugin become active again… in this case hiding the settings menu. When I try to manually access the settings page I get a wordpress error saying I do not have permission to access the page. I am signed in as the Admin… I’m not sure what to do… I’d like to re-install the plugin without it remembering my mistake. lol!
Thanks in advance!
-Andrew
NVM, you can ignore my last question. I spoke too soon.
I was removing the plugin via ftp since i couldn’t access the plugin page. I was able to deactivate and delete the plugin from the admin and reinstall it. Seems to be back to normal again.
Just in case you ever run into this again, there is a way to reset the menu configuration without uninstalling the plugin. You just need to visit this URL while logged in as an administrator:
http://your-site-here.com/wp-admin/?reset_admin_menu=1
[...] still be accessible via a direct link. If you wish to remove them or show them based on user-role, Admin Menu Editor can do that for [...]
Hi,
For some reason my editor roles cannot see the visual editor when creating posts.
( html & Visual view ) when i deactivate the Menu Editor, it works…
Hope this is a common issue, and easy to fix?
regards
Sorry, but this is the first time I’ve heard of it. Do you mean that the visual editor tab doesn’t show up, or that clicking on “Visual” does nothing? If it’s the latter, check your browser’s JavaScript console (Ctrl+Shift+J in Firefox or Chrome) for error messages. They might provide some clues.
Hi there,
Thank you for making this plugin! I use it for all my sites. One issue I thought you should be aware of is that when moving my WP database from a staging server to a live server, my menu customizations are lost. Do you know why this could be the case?
Thanks!
The custom menu is stored in the “ws_menu_editor” DB option. Does that get copied okay?
A guess: If you’re running a global search & replace on the database to replace the staging site URL with the production URL, it could corrupt the serialized data stored in that option. This can happen due to the way PHP serializes strings – it stores both the string itself and also its length. If you change the serialized string without updating the length, PHP won’t be able to parse it.