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 :

Admin Menu Editor screenshot

Download

admin-menu-editor.zip

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 :

396 Responses to “Admin Menu Editor For WordPress”

  1. Jānis Elsts says:

    As far as I know, the current version should work fine in WP 3.3. Have you encountered any specific problems?

  2. Colin says:

    Hi,

    Bit of a run around to get to this page considering that l have paid $25 for a years support. However, l need to know how to hide the actual admin menu editor plugin that appears within the installed plugins list. I have removed various menus l dont want the client to view, but it appears that all they need to do is deactivate my admin menu editor plugin to allow them full access !

    Cheers

  3. Jānis Elsts says:

    You could try the “Plugin Hider” plugin mentioned on this site.

    Alternatively, you could remove the client’s ability to deactivate plugins by using an access control plugin like Capability Manager or similar.

    (Also, WpPlugins.com has a support forum for plugin-related inquiries.)

  4. shae says:

    Is there a way to edit menu items for individual sites in a wordpress MU install. So it is not global?

  5. [...] Admin Menu Editor [...]

  6. Jānis Elsts says:

    Sorry, there’s no way to do that in the current version.

  7. Duncan Hardy says:

    Love the plugin! Does exactly what I want BUT I get the following message whenever I edit a menu item:

    Failed to decode input! The menu wasn’t modified.

    Version 1.1.5 of plugin, 3.2.1 WP, 5.2.17 PHP

    I would really appreciate some help.

    Thanks

  8. Duncan Hardy says:

    Never mind – I found that it was conflicting with my theme. I switched my theme, and your plugin worked just fine.

    Thanks

  9. Daniel says:

    Can edit settings. I have used your plugin for a long time. I just logged into two clients websites and I can’t get the settings to show. The page menu_editor page opens with the icons on the top but no menu items to edit. weird.

  10. Daniel says:

    **CAN’T

  11. Chris says:

    Tried it with my site and it would not show up in the admin. on a multi site setup using wp 3.3.1
    But on my mother site works fine on a single blog.

  12. Jānis Elsts says:

    @ Daniel:
    It could be a JavaScript problem. If one of the scripts loaded on that pages crashes, it can prevent the plugin from displaying the menu structure.

    Check your browser’s JavaScript console/error log for any JS error messages.

    - In Firefox: Press Ctrl+Shift+J. See this page for details.
    - In Internet Explorer: In older versions, double-click the error notification icon in the lower left corner of the window, then click “Details”. In IE9, press F12 and open the “Console” tab.
    - In Chrome: Press Ctrl+Shift+J.
    - In Opera: Press Ctrl+Shift+O.

    @ Chris:

    Have you followed the multi site installation instructions?

  13. Chris says:

    I corrected the Multi site install and Got it showing Now that you so much missed the Multisite install instructions.
    also Thank You for such a useful plugin if there was awards for the most useful this would win it hands down.

  14. Chris says:

    I was going to buy the Pro version but I’m not paying a subscription just for updates if that changes and you deride to change your plugin update policy let me know.
    you will probably sell more pro versions. Shame its a nice plug in and would have liked the user access levels in stead of on or off only.

  15. Jānis Elsts says:

    I’d love to offer a way to get the plugin without paying a subscription, but unfortunately the plugin marketplace in question (wpplugins.com) doesn’t provide any way to set that up. Plugin authors can only change the subscription amount and time period, not disable it entirely.

    However, you can buy the plugin and then immediately cancel the subscription through your PayPal account. If you do this within 7 days of the purchase, you won’t be charged the subscription fee at all, not even once.

Leave a Reply