Should WordPress Themes Add a Top-Level Admin Menu Item?

WordPress has almost always provided a top-level admin menu item for themes. It is clearly labeled “Appearance.” It is the single location that all WordPress users know to visit to modify any appearance-related things for their WordPress site. However, there is a movement within the Themes Team to allow themes to place an additional top-level menu link in the admin. The big question: should this idea move forward?

When the Themes Team (originally called the Theme Review Team) was formed, its members created a set of guidelines that would be shaped and reshaped over the years. They were a set of living guidelines that could always be changed with the times.

One of the oldest guidelines required that themes must place any custom admin pages under the Appearance menu item. It made sense. WordPress provided a standard location for any theme-related pages. The custom header and background features lived under Appearance. Widgets, also defined by the current theme, were housed as a sub-page. Eventually, WordPress’s custom nav menu system came along and was — you guessed it — situated under Appearance. The core developers even put the customizer link in the same place.

For over a decade, there was a well-defined standard. Sure, commercial themes outside of the official directory would sometimes break the mold. However, themes from the directory followed the pattern.

Now, the Themes Team is proposing that themes should be able to break from tradition.

The discussion arose after a question of whether themes should be able to add a custom panel to the block editor sidebar, which is not allowed.

“To keep the editor free from clutter, advertising and upsell, with the customizer being used less, and no dashboard widgets being allowed, can we give theme authors a better place to include their information, and limit upsell to that area?” wrote Carolina Nymark in last week’s team meeting notes.

The proposal seems to settle on the idea that themes will lose visibility as WordPress moves toward full-site editing and the customizer becomes less important. The customizer is not an ideal place for anything but theme options, but that notion seems to have been overlooked in the discussion. Nevertheless, the original guideline that disallowed themes from creating top-level menu items preceded the advent of the customizer by several years. Advertising, documentation, plugin recommendations, and similar pages were always allowed under the existing Appearance menu. The usefulness of the customizer was never a necessary part of that conversation.

Ultimately, the question should be about what is best for users. There is no data to support making the change or sticking with the status quo. However, we do have a standard that has existed for years.

The Proposed Guidelines

The proposal would create several new guidelines for theme authors to follow and reviewers to check, assuming the theme created a top-level admin menu item:

  • No admin menu priority may be used.
  • No UI or color changes are allowed for the menu item.
  • The title must be kept short and not include spam.
  • No more than three sub-pages.
  • Child themes are limited to one sub-page or can remove the parent’s pages and add its own.

Some of these make sense and follow along with existing guidelines, such as not spamming or changing the admin UI. However, others could be problematic.

If moving forward with the proposal, setting a menu item priority should be required rather than not allowed. If anything, it would make sense to require a specific priority to place the custom menu item immediately after the existing Appearance item. This would at least group them together by default. If changing the place where users are accustomed to seeing theme-related pages, it is probably best not to break too far from the standard location.

No more than three sub-pages? Surely there will be a theme with a top-level admin menu item that needs four sub-pages at some point. If giving theme authors the freedom to take up valuable real estate in the admin, a limit of three sub-pages seems like a rule to fix the mistake of allowing the top-level item in the first place. It is an arbitrary number at best. There would be no reason to cap it once making the guideline change. It also adds one more item that the team will need to police.

The limitation of sub-pages for child themes seems just as arbitrary. No such limitation exists when placing sub-pages under the standard Appearance screen.

The entire proposal is little more than extra work on a team that is already strained for resources.

Instead of the simple rule that has existed for years, the proposal adds a new rule with several sub-rules. If the team desires the extra work, I suppose this point doesn’t matter.

The Elephant in the Room

There is one aspect of this discussion that everyone knows about but few are willing to broach. Underneath all the guidelines from the Themes Team and whether most theme authors support a particular decision is how this affects the financial bottom line. When we talk about visibility of a theme’s admin pages, we are primarily talking about providing another avenue for commercial upsells.

Some of this discussion on visibility is shrouded in concepts such as surfacing end-user documentation or adding a visible readme for the user’s benefit. These are legitimate concerns, especially when theme developers have watched tickets to address such downfalls seemingly dwindle into obscurity over the years. Whether a top-level admin menu item makes sense for exposing theme documentation might be worth discussing, but there is no world in which this would be the primary use case.

The topic of visibility rests on the idea of upselling the pro version of the theme, add-ons, or other services.

Far too many plugins already go overboard, creating a billboard of the WordPress admin. One of the things users could almost be assured of is that themes from the official directory were constrained enough that they were not the hot mess that plugins have become as of late. However, that could all change.

Do we really want an extra top-level admin menu item that will be, for all intents and purposes, to advertise?

Maybe it doesn’t matter in the end. Users are so accustomed to the clutter produced by the dozens of plugins on their sites. One more may not matter at this point.

Or, should we be having a different conversation altogether? If this ultimately boils down to advertising, are there ways we can open this up for theme authors while still creating a user experience that keeps the WordPress admin free of clutter?

15

15 responses to “Should WordPress Themes Add a Top-Level Admin Menu Item?”

  1. I appreciate you taking the time to write up this post and ask some tough questions. I have been waiting on comments and the thoughts of theme authors since the initial post was written and as of yet there have been no authors commenting to tell us how useful this would be for them of what they may want to use it for. I look forward to seeing what they have to say in the comments here.

    Their silence makes me feel like they are indifferent to the idea where as there have been some quite vocal messages claiming this to be a bad idea or to be opening a can of worms ripe for abuse.

    I only have insight from direct messages and conversations I have had with authors over the years – a few of which have been recently. Those discussions make me feel like they would like to have this ability but it is hard to guage the overall feelings without discussions like the one we had in the #ThemeReview slack room.

    I want to think that primarily the purpose of a theme page is to use for documentations. Some themes have support threads for the same issue frequently that might be slowed by having the documentation right in the dashboard in a place authors are able to discover it easier.

    What I want is to find ways for themes to take more of the limelight without going overboard to the point where it is a distraction. The idea of having a top level page fells like one way we can do that.

  2. I find all the top-level clutter irritating, like billboards on the roadside.
    I would prefer that plugins put themselves into the approprate submenu. Galleries, lightboxes minimizers etc should be available under “Media.” Security, SEO, coming soon, would be easy to find in the “tools” submenu. Membership management and other user-oriented items belong under “users.”
    A lot of plugins only need to be configured once, which would be very easy to link to from the plugins page itself.

    • Advanced Database Cleaner is a cool plugin which creates a top-level admin menu upon activation. When you visit the Overview & settings tab, there are three helpful options. The first two options are selected by default, while the third is not selected:
      1. Show plugin left menu
      Displays a menu at the left side of your WP admin
      2. Show plugin menu under tools
      Displays a menu under “tools” menu
      3. Hide premium tab
      If checked, it will hide the above premium tab

      It’s great to have these options.

      On the other hand, while I like Jetpack, I use a code snippet to hide their upsells in the admin.

  3. I support what ProbablePossible suggests. However in all these discussions all theme writers are missing out on the bloat that is made on the Media files. You put one jpeg or some thing and there are a number of copies made by the theme (it is an overkill). If I as an author want I shall load any media file appropriate to my document and theme authors should have no hand in this.

  4. If WordPress had a built in, easy to use Admin Menu Editor this maybe would not be such a big issue? Just add an Edit button at the top and then let users move menu items around, add and remove submenues – all with drag and drop.

  5. There is an appearance top level menu. All theme appearance settings can go below that menu.

    When it comes to promotions etc I think it could be solved like this. WordPress should have a dedicated Donations & Promotion admin page with WP styling. Then all plugins using admin notifications for promotion or adds “billboards” could get rejected in the WP repo. If a row is registered it can be notified automatically by WP itself on activation.
    Then users can configure how they want things to work themselves. Also everything is in one place. Order can be random, there can be default reminder etc.
    It is a bit odd that the repo is used as a freemium promotion platform.

    • When it comes to promotions etc I think it could be solved like this. WordPress should have a dedicated Donations & Promotion admin page with WP styling.

      This would fail, because successful marketing is pretty much always about context, presenting the right offer at the right time.

      For a product to become successful (in true meaning of the word), it needs to be able to present its upsell offers where the user might actually need the upgrade to better achieve their goals.

      Obviously, all of it should be well designed, dismissable etc, no argument there. Design fidelity is another topic, though.

      Implementing a dedicated promotional bin would hence probably be an excercise in futility?

  6. The problem with not setting a max number of sub pages is that some theme authors will then try to add 12 pages, and the reviewers will have nothing to back them up when they ask the author to remove them.

    The problem with setting a max number is that everyone will use the max number…

    The team has tried to be flexible in the past and review settings on a case by case basis.
    There are always exceptions to the requirements (except licensing).

    It is highly unlikely that anyone is going to mark a theme as not approved because the author asks if they can use 4 sub pages, as long as the content follows the other requirements. That is not what the team is trying to accomplish.

    -The problem we (reviewers) are seeing is that when we ask theme authors to motivate why they need something extra, or when we encourage them to explain why they need to break specific requirements: The theme author never replies.
    It is a communication issue.
    Instead of motivating why and request exceptions, they remove the settings without adding as much as a comment.

    -And in the long run this means that requirements are not updated to reflect what the authors really want.

  7. Unfortunately I think they’re trying to fix the wrong problem. The WordPress Admin area needs a refresh (as alluded to in a separate Tavern post, coincidentally). Lots of plugins add their own top-level Admin menu option (JetPack used to do so as well); I have two with blue icons, which don’t stand out well on the solid brown menu background I have. To save space I minimise the Admin menu, then have to guess what each non-core icon is for.

    A theme might have subpages, it might not. Do the ones that don’t need a top-level menu still get one? How long will my Admin menu get?

    Is there a better way to divide/present the admin area; say core and non-core, or front-end (content, themes) and back-end (settings, plugins), with upsell notices done the same way as the News, etc panels which can be turned off?

  8. My admin menu is a mess. Too many of the scores of plug-ins required to make WordPress usable insist on occupying the top level or put themselves in places I find puzzling. Worse yet, they appear in no sensible (random?) order. The solution, yikes!, is yet one more plug in. It should be a priority to provide a full-functioning admin menu editor in WP core. Only then should we contemplate adding yet more stuff to the admin menu.

  9. I also think admin-menus should be easier to configure. Expecially with hiding stuff for writers and displaying them for admins.
    I like the idea of nesting menus depending on their purpose. Some plugins change appearance of a page a lot. Others are just for administration purposes.

  10. Hi, WordPress new update has arrived.
    I was using the Astra for my site but I can’t use anymore now.
    I am using generate press now but getting issues in ads.txt, so should I change the theme and accept the WordPress updates?
    I am bit confuse what to do first? I need the urgent solution.

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.