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?
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.