Where Are The Settings For That Plugin?

At the end of the WordPress Developers meeting for September 2nd, 2010, I had the opportunity to ask a random question about WordPress that has been bothering me for some time.

Out of curiosity will there ever be a way to organize the menus at least by alphabetical order?

The question ignited a bit of discussion and I found out that even Mark Jaquith has a pet peeve with the no rhyme or reason approach to plugin top-level menus. Personally, I enjoy alphabetical order menus because I have a sense of knowing where something is going to be with a minimal amount of time searching. It’s a personal thing but the issue is compounded by the fact that plugin authors have taken it upon themselves to add their settings link where they think it should go. Now, I’ve reviewed a couple of pages in the Codex regarding plugin writing and I have yet to find a specific instance where plugin authors are told where to place their configuration menu link. This is what you end up with.

Some plugins have top menu configuration links while other setting menus are buried within other menus. Overall, it’s just a plain mess that I always have to wade through when configuring something. Currently there are a couple of things that can be done to help with this problem. The first is ticket 14769 which aims to create an API for a Settings action link on plugins.php. The second is for plugin authors to add the Settings link to their plugin which can be accessed on the plugin management page like so.

The third option is to install and use a plugin by Whiteshadow called Admin Menu sorter.

This is a pretty cool plugin in that it provides an interface to mix and match the menu system to your heart’s content, including a few sorting mechanisms built-in such as my personal favorite, ascending order. However, the plugin does not enable you to move items from one menu to another. For example, I created a top-level menu item called WP Settings where WordPress Specific settings would be stored. I was not able to move setting links from the right side of the interface to the left under the main menu. I imagine those changes would be overwritten anyways after each upgrade of WordPress.

These are just a few of the options available to tackle this problem. I would love to see some sort of standard operating procedure when it comes to configuration links and plugins but alas, I think the best that we’ll get is methods built into WordPress that makes it easy for plugin authors to add their configuration links in a standard location. In fact, that method is already in place but many plugin authors fail to take advantage of it, most likely due to poor documentation as I could not find anything about it on the Codex. At least with plugins such as the one I linked to above, I can take it upon myself to restructure the links and menus in the back-end so it’s not such a big mess.

Is this a common pet peeve amongst users of WordPress or do you think things are fine the way they are with regards to settings and their link locations?

13 Comments


  1. Top-level menus can be tricky and are a difficult decision for a plugin author.

    I used to have a sub-menu under options-general (Settings), but found it incredibly difficult and counter-intuitive to create sub-sub pages, which would have been ideal.

    To get around this, I created a top-level menu item for my plugin since it has, and will have several more, sub pages.

    From a plugin author’s standpoint, all we are given is a priority argument. We have no control of the sorting.

    For the settings link, that is pretty easy to add to the plugins page, and I did so with one of my more recent versions. But again, adding this in as not as easy as one would hope.

    Report


  2. It bothers me as well. I’ve made a few plugins, and it took me a while to figure out how to hook it into different areas. The fact that I can hook it ANYWHERE makes it even harder. Good luck finding a solution.

    Report


  3. Just to make things more complicated, it’s also possible for plugin authors to add new sections to existing settings pages. Some do, but for the most part it’s a little-known feature.

    Report


  4. At one of the WordCamps (Boulder I think) Jane was talking about this very subject. She suggested that plugins should attach themselves where it makes the most sense. For example if your plugin deals with comments you would add your menu under the top level comments menu.

    She suggested that very few plugins should ever add a top level menu. For things like ecommerce plugins it would make sense to grab a top level menu, but for most plugins it wasn’t necessary.

    It would be great if there were some guidelines in the codex about where to hook your menu. It really is a mess now.

    Report


  5. I agree it’s quite annoying, but none of the proposed solutions are a perfect fix (Alphabetically sorting can be confusing if you don’t even know what the title is for the plugin you’re looking for, and that happens allot)
    I think Plugin authors should do their best to have the least amount of settings panels and give them logical names that describe the functionality of the plugin if its an operation panel (i.ie add photos) and the plugin name if it’s a settings submenu (i.e. WP Photo Album)
    ALso, the amount of settings menus get annoying, and if you have a setting or two in your plugin, perhaps you want to add them to an existing core settings page instead of creating a new page (clearly stating in the read me that the settings for your image related plugin are in the media settings panel makes sense and i don’t think it’s confusing)

    Report


  6. It’s surely something that bugs me too. I’m glad you brought it up and hopefully it’ll gain some attention. Another thing regarding plugins that bothers me is the fact that there is no quick link to plugins page in the “Right Now” box on the Dashboard. There’s a quick link for everything else…posts, pages, cats, themes, widgets, etc. How ’bout adding a quick link that says something like:
    “You have 18 active Plugins“.

    Report


  7. I use Admin Menu Editor in every WP project I use. Couldn’t recommend it more than I do already.

    I only wish I could push my changes out across a multi-site installation.

    Report


  8. Attaching plugins to the spot where they make the most sense is nice, but that will still result in a long drop-down under Settings. Personally, I check the plugins page first for a settings link and I think all plugins should be required to add a configuration link here. It’s annoying when I install a new plugin and return to the plugins page but do not find a ‘Settings’ link there. Then I have to go searching.

    Report


  9. I think this is a pretty common theme. Should there be published guidelines and API restriction on how links are integrated or should we simply count on plugin authors to make sensible decisions in regards to UI?

    IMHO this is partially what separates the men from the boys so to speak. Quality plugins get more downloads. A portion of what makes a quality plugin is how it’s integrated into the whole of WordPress.

    Personally I always opt to add the plugin settings under the section where it most directly applies. As Steven Bradley mentioned, there are only a few instances when a plugin should create a top-level menu.

    Report


  10. I inlcude the Settings-link in all my plugins and the users say thank you for this – this is great and forward for an better gui.

    Report

Comments are closed.