Admin Drop Down Menu: More Goodness & an API

Update: I've update the plugin doc and added a page for plugin coders.

I've just committed version 2.3 of the mother of all admin menu plugins, Admin Drop Down Menu, and there are some pretty hot stuff inside. Plugin coders, be sure to read this till the end.

First, it's finally ready for translation. That's something I've been asked a few times, so now polyglots can rejoice since there is a .pot file included. I've also added CSS classes and id's to all menu elements so styling maniacs can hack their stylesheet to death.

The most visible change will be optional menu icons. That's something I've been nagged about a gazillion times, and that I had never added because, well, I don't need them :) So, why add them now, you ask? Because I had a fun idea to implement!

The cool stuff with this release is there is sort of an API to play with. The function that builds the array that builds the menu is full of hooks so that if your plugin needs, for some reason, to modify menu entries, you don't have to write dirty patches, just throw some add_filters() in (hat tip to Kevin Behrens and his plugin Role Scoper for inspiring this)

But wait, there's more, and cooler!

Icons are stolen from the awesome FamFamFam, of course. By default, plugins get a cute green plugin icon, but this can get a bit boring when you have dozens of plugin entries looking the same. Plugin coders want their individuality!

Well, they can have it: there's an awesomely super cool hook that allows plugins to have their own icon! (I'm pretty excited with this feature:)

To do so, simply add the following in your plugin:

  1. add_filter('ozh_adminmenu_icon', 'myplugin_icon');
  2.  
  3. function myplugin_icon($hook) {
  4.     if ($hook == 'myplugin') return 'http://url/to/cute/icon.png';
  5.     return $hook;
  6. }

Where 'myplugin' is the $file argument used to add your administration page (for instance add_options_page('My Plugin', 'My Plugin', 10, 'myplugin', 'myplugin_do_stuff'))

If you use this cool feature in your plugin (or need help to do so) be sure to let me know!

24 comments

  1. JD Hartley

    Awesome! This is some pretty sweet stuff. I just hope that the plugin authors will catch on right away. The green icons will probably get annoying pretty fast…

    Keep it coming, Ozh!

    -JD

  2. Les

    Nice development, but one slight problem. If used with Fluency Admin, the icons slightly overlap the text on the menus.

  3. Ozh

    Les » That's something to be fixed on the Fluency side, then. Or: don't enable the icons :)

  4. George Serradinho

    Hi,

    thanks for the update. I like the icons and think it makes the menu's better in a way.

    Please keep up the good work and thanks again.

  5. armouf

    Ok, ozh nice update but you got to step forward.

    Simply buy fluency and you could merge it with your plugin so we dont need to expect a new version of fluency everytime you udpate your plugin and vice versa :)

  6. Matt Algren

    Love the plugin as always. You have no idea how much time this saves me. But…

    I turned off the icons (until I can get some icons on other plugins), and it works fine except in the case of the Settings dropdown line for Admin Menu. On that item it shows your icon over and over.

    I'm doing a horrible job explaining it, so here's a picture. I've done this on both my blogs, and I get the same result.

    http://betterlate.files.wordpress.com/2008/08/admin-menu.jpg

  7. Stephen R

    Aha, here it is!

    Nice. JavaScript Pull-Quotes is totally getting an icon. I already have the image, from an ill-fated attempt to make a Rich-Text pull-quote button. :)

  8. Ozh

    Matt & Eyn » stupid little bug fixed in 2.3.1, thanks for the feedback :)

  9. Matt

    Ozh,

    Lovinh the new plugin and want to make use of the API – but my plugin adds menus using '__FILE__'. How should I add into your API?

  10. Ozh

    Matt » I've *just* updated the plugin doc and added a page for coders :)
    Basically, you need to test on plugin_basename(__FILE__)

  11. Matt

    Just found that about 10 seconds ago – you are a LEGEND :-)

  12. ø OCPU 2.4.x – Cute Icons And Random Tweaks | W-Shadow.com ø

    […] "Install a Plugin" and "Install a Theme". (Writers block!) I used the new API of Ozh's Admin Dropdown Menu plugin to add the icons, so make sure you install that fine […]

  13. Christina Warren

    Love the plugin, but weird glitch with the latest version — after installing, I can't actually SEE anything but the top menu in my admin screen. It looks like it has loaded, but everything is just blank. I can go through the menus, but selecting anything doesn't actually load a page.

    I'll check some stuff with some of my plugins, and it is possible it is an incompatibility with something on my end, but I just wanted to give you a heads up in case anyone else starts to report a similar issue.

  14. Subscribe2 4.10 « Subscribe2 Plugin

    […] Added filter for Admin Drop Down Menu […]

  15. Astropeg

    I need some help… I am not a code writer/programmer/webmaster (though I am learning :-)

    I installed the drop down menu on several websites. I love it but it is affecting the page display of 2 of the websites. One is: http://mattpapanek.com/

    My webmaster is not familiar with the plugin and suggested just uninstalling it. After uninstalling the plugin, the page display is still affected. This has happened on 2 different sites. I reinstalled the plugin.

    Before going back to the webmaster, I would like to know if there is a solution because, well, I love this plugin!

    Any help would be greatly appreciated!

  16. Ozh

    Astropeg » "After uninstalling the plugin, the page display is still affected." so obviously my plugin does not interfere with whatever you call "affecting the page display"

  17. Astropeg

    Thank you for responding so fast Ozh!

    Actually, there were no problems with the public view of the page display on either site until I installed the plugin. This seems odd to me since the plugin is for admin page functionality.

    When I installed the plugin, I did not do anything else except select a color for the menu bar and check the box to hide the speech bubbles. I did nothing else but install your great plugin.

    I really love this plugin and am hoping to find a solution.

    Thank you again for your fast response and your help! Oh, and I wanted to donate but the paypal page came up in French…

  18. Astropeg

    Is it possible that the plugin may have affected some of the code in the Theme/template files? I do not know what to look for because I am not a code writer/webmaster and I may not be communicating this correctly but it seems that the size of the image files for the header and top of the page have been affected. I am using the Thesis theme as well as custom headers.

    Again, 2 sites were affected in the same way following the installation of the plugin:
    http://mattpapanek.com/
    http://lunafengshui.com/

    Thank you again for your time Ozh!

  19. Ozh

    Astropeg » if you deactivate the plugin, it's deactivated for good. It does not "affect" code. Plus, my plugin does nothing to the public part of the blog. Actually it does not even load in memory when you're not viewing the admin area.

  20. Astropeg

    This is all very strange then. I am not sure how 2 different sites could be affected the same way when the plugin was installed and uninstalled.

    Do you have any suggestions? Can you help me? I would really like to be able to use your plugin on the 2 mentioned sites.

    I do appreciate you taking the time to help me.

  21. Ozh

    Astropeg » the thing is: the plugin cannot "affect" the public part. It is coded so that it simply does not load when viewing the public part. Thus, I'm afraid I can't help, sorry.

  22. Astropeg

    Thanks for taking the time to respond Ozh, I will get to the bottom of this because I don't want to ever be on a wordpress admin page without your plugin. It should be part of the core of wordpress as many folks have mentioned on other forums. It truly is my favorite plugin and every time I see the menu bar I smile! Thanks again.

  23. David

    That's a pretty cool plugin =)
    Nice.

  24. Bill

    Your plugin looks great…I am still on WP 2.7. Does it play nice with the latest WP version?

Comments are closed.