Version 2.12 – Editable Roles, Separator Customization, and Bug Fixes

This version adds a couple of new features to the menu editor and role editor modules. It also fixes a number of plugin conflicts and compatibility issues.

This release adds a number of settings that let you customize the appearance of admin menu separators. You can change:

  • Color
  • Line style (e.g. solid, dashed, etc)
  • Width and height
  • Margins
  • Horizontal alignment

You can apply different styles to top level and submenu separators, or use the same settings for both types of menu separators. To access separator settings, click the “Separators” button in on the right side of the menu editor.

Separator settings dialog added in version 2.12

“Editable Roles” Settings

By default, when you give a role or user the ability to edit other users, WordPress will let them edit all users and they will be able to assign any role to anyone. This can be a problem if you want to have multiple roles that can edit users but you don’t want them to have the ability to give the “Administrator” role (or equivalent) to anyone they want.

One way to avoid that problem is to use the new “Editable Roles” feature introduced in version 2.12. This feature lets you control which roles someone can assign to other users. Additionally, it prevents people from editing users that have a non-editable role. For example, if you have a custom role that can edit other users, you could use this feature to prevent that role from editing administrators.

Screenshot of the Editable Roles dialog that was added in version 2.12

The default setting is “Automatic”. When a user with role A tries to do something with role B (e.g. they try to assign role B to another user), the plugin will compare the capabilities of A and B to automatically determine if the user is allowed to do that. In general, role A will be able to edit/assign role B only if role B has the same or fewer capabilities as role A. For example, if you give the “Editor” role permission to edit users, they will not be able to assign the “Administrator” role to anyone because “Administrator” has more capabilities than “Editor”.

Assign Multiple Roles to Users

Version 2.12 adds a new panel to the “Roles” tab that lets you change a user’s role without having to go to their profile. You can also assign multiple roles to one user. When you check or uncheck a role, you can immediately see how it affects user capabilities.

Screenshot of the new settings panel added in version 2.12 that lets you set the user role and assign multiple roles to one user

Notable Bug Fixes

Fixed a crash caused by invalid capabilities

Normally, a role capability is a keyword or short phrase like read, edit_posts or manage_options. In other words, it’s text. However, there are some plugins that incorrectly use non-textual values in place of regular capabilities. For example, there is at least one plugin that uses false (the boolean value, not the word) when setting the capabilities of a custom post type.

Originally, Admin Menu Editor Pro couldn’t handle invalid capabilities. The “Roles” tab would crash and just display a blank page, making it impossible to edit role capabilities. Version 2.12 fixes that by detecting invalid capabilities and displaying them as such. Now you will be able to use the settings in the “Roles” tab even if some capabilities are of the wrong data type.

Fixed a bug that sometimes made it impossible to give capabilities to new/custom roles

Due to an oversight in the initial release of the “Roles” feature, it was not possible to add capabilities to roles that didn’t already have at least one capability. For example, if you created a new role and didn’t give it any initial capabilities, you would not be able to assign capabilities to that role later. Version 2.12 fixes this bug.

This plugin uses a third-party JavaScript library called “jquery-cookie” to set cookies in the browser. It mainly uses cookies to remember interface settings, like which panels or boxes are open/closed. Some other plugins use different, incompatible versions of the same library. If one of those plugins loads its version of “jquery-cookie” on an Admin Menu Editor Pro settings page, this could cause a conflict and break Admin Menu Editor Pro in subtle and unexpected ways.

This has been fixed in version 2.12. Now AME should continue to work fine even if another plugin (or theme) loads an incompatible version of “jquery-cookie”.

Fixed hidden plugins showing up in various places

As of this release, hidden plugins will no longer show up under “Dashboard -> Updates”. They also won’t be included in the number of updates show in the admin menu, the Toolbar (a.k.a Admin Bar), and other places.

Fixed minor WP 5.5 compatibility issues

The upcoming WordPress release includes some small changes to the layout of admin dashboard widgets and meta boxes. Previous versions of this plugin were not fully compatible with these changes, which meant that some of the widgets and boxes shown on Admin Menu Editor Pro settings pages would display incorrectly (though they would still work fine). Version 2.12 fixes that problem.


See the full list of changes in the changelog.

Version 2.11 – Role Editor, Admin CSS, and a Few Gutenberg Tweaks

This release includes a few frequently requested features and a number of bug fixes.

Role Editor

Admin Menu Editor Pro has always been limited by the fact that it could only change those role permissions that have a corresponding admin menu item. For example, you could use  it to hide the Appearance -> Themes menu from a role or user, but if you just wanted to prevent someone from installing new themes, you wouldn’t be able to do that because there is no “add new themes” menu item. Instead, you would have to install a separate role editing plugin and disable the install_themes capability.

Version 2.11 adds a built-in role editor to Admin Menu Editor Pro. You can find it in the new “Roles” tab on the Settings -> Menu Editor Pro page. You can use it to assign/deny capabilities to roles or users, create new roles, delete roles, and more.

Screenshot of the "Roles" tab

Keep in mind that this is a new and complex feature, so it may not be as stable as the rest of the plugin. If you notice any bugs or other issues, please report them.

Custom Admin CSS

This release also adds the ability to add your own CSS code to the WordPress admin back-end. You can add multiple CSS snippets and you can enable each snippet for all users or only for specific roles.

Screenshot of the "Admin CSS" section in the "Tweaks" tab

Gutenberg Tweaks

Finally, version 2.11 includes a few Gutenberg-related features:

  • You can hide individual Gutenberg blocks from roles or users. Go to the “Tweaks” tab to find these settings.
  • You can also hide the Gutenberg options menu.
  • Hiding the “Format” and “Publish” meta boxes now also hides the corresponding rows in Gutenberg’s “Status & Visibility” panel.

Screenshot of the "Hide Gutenberg Blocks" section in the "Tweaks" tab


See the full list of changes in the changelog.

Version 2.10 – Tweaks

This release adds a new tab called “Tweaks” to the plugin settings page.

Tweaks tab

This tab contains miscellaneous small modifications (“tweaks”) that you can enable for specific roles or users. These tweaks are available in version 2.10:

  • Hide “Screen Options” and “Help”.
  • Hide all admin notices. This includes even core notices like “settings saved”.
  • Hide specific user profile fields.
  • Hide sidebars and sidebar widgets. This applies to Appearance -> Widgets but not to the site front-end.
  • Hide TinyMCE buttons (TinyMCE is the classic post editor).

The plugin updates the list of available TinyMCE buttons when you open the post editor, so if you notice that the list is missing a button, try editing a post or page.

Why Add Tweaks?

Over the years, users have sent me many feature suggestions. Some of the suggestions are both valuable and relatively easy to implement, but they don’t quite fit anywhere. Adding more and more options to the menu editor wouldn’t work: every top level menu item already has 10+ settings and expanding that list without limit would make it difficult to find the settings that you actually need. Trying to sort the settings into separate tabs is also impractical because many of the feature suggestions have little in common. You would end up with a lot of new tabs that each contain just a handful of checkboxes. The plugin already has 8 tabs (more if you install the Branding add-on), so this approach also runs the risk of making the settings too cluttered.

The “Tweaks” tab is a compromise: one new tab for all the little customizations that don’t fit anywhere else, organized in sections. That’s still a lot of disparate settings in one place, but it’s somewhat orderly and you can collapse the sections that you’re not interested in. The plugin will remember which sections were open and which were closed.

If you don’t need any of the available tweaks, you can slightly improve plugin performance by turning off the “Tweaks” module in the “Settings” tab.

Other Changes

Version 2.10 also includes a few minor bug fixes related to meta boxes, plugin compatibility, and error handling.

Version 2.7 – Import and Export

The biggest change in this release is the improved import/export feature. Previously, you could only export some parts of the plugin configuration like the admin menu and dashboard widgets. You also had to go to each individual tab to export the settings in that tab.

This version adds a new “Export” tab – a central location for all your configuration export needs.

Export settings

You can also export much more of the configuration, including meta box settings, plugin visibility, Branding add-on settings (if you have that installed), submenu icon settings, UI color scheme settings, and more. There are still some things that cannot be exported, like some debugging settings. If you notice anything important missing, let me know.

Once you have an export file, you can import it through the “Import” tab.

Import settings - Step #1

You can choose which parts of the configuration to import:

Import settings - Step #2

You can also export plugin configuration using the command line (requires WP-CLI):

wp admin-menu-editor export filename.json --all

Import it like this:

wp admin-menu-editor import filename.json

The old import/export features like the “Export” button in the menu editor are still in place and still work like they did before, at least for now. They will be removed in a future release because having multiple “Export” buttons that all do different things would probably be confusing.