=== Admin Menu Editor === Contributors: whiteshadow Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A6P9S6CE3SRSW Tags: admin, dashboard, menu, security, wpmu Requires at least: 4.1 Tested up to: 5.2 Stable tag: 1.9 Lets you edit the WordPress admin menu. You can re-order, hide or rename menus, add custom menus and more. == Description == Admin Menu Editor lets you manually edit the Dashboard menu. You can reorder the menus, show/hide specific items, change premissions, and more. **Features** * Change menu titles, URLs, icons, CSS classes and so on. * Organize menu items via drag & drop. * Change menu permissions by setting the required capability or role. * Move a menu item to a different submenu. * Create custom menus that point to any part of the Dashboard or an external URL. * Hide/show any menu or menu item. A hidden menu is invisible to all users, including administrators. The [Pro version](http://w-shadow.com/AdminMenuEditor/) lets you set per-role menu permissions, hide a menu from everyone except a specific user, export your admin menu, drag items between menu levels, make menus open in a new window and more. [Try online demo](http://amedemo.com/wpdemo/demo.php). **Notes** * If you delete any of the default menus they will reappear after saving. This is by design. To get rid of a menu for good, either hide it or change it's access permissions. * In the free version, it's not possible to give a role access to a menu item that it couldn't see before. You can only restrict menu access further. * In case of emergency, you can reset the menu configuration back to the default by going to http://example.com/wp-admin/?reset\_admin\_menu=1 (replace example.com with your site URL). You must be logged in as an Administrator to do this. == Installation == **Normal installation** 1. Download the admin-menu-editor.zip file to your computer. 2. Unzip the file. 3. Upload the `admin-menu-editor` directory to your `/wp-content/plugins/` directory. 4. Activate the plugin through the 'Plugins' menu in WordPress. That's it. You can access the the menu editor by going to *Settings -> Menu Editor*. The plugin will automatically load your current menu configuration the first time you run it. **WP MultiSite installation** If you have WordPress set up in Multisite ("Network") mode, you can also install Admin Menu Editor as a global plugin. This will enable you to edit the Dashboard menu for all sites and users at once. 1. Download the admin-menu-editor.zip file to your computer. 2. Unzip the file. 3. Create a new directory named `mu-plugins` in your site's `wp-content` directory (unless it already exists). 4. Upload the `admin-menu-editor` directory to `/wp-content/mu-plugins/`. 5. Move `admin-menu-editor-mu.php` from `admin-menu-editor/includes` to `/wp-content/mu-plugins/`. Plugins installed in the `mu-plugins` directory are treated as "always on", so you don't need to explicitly activate the menu editor. Just go to *Settings -> Menu Editor* and start customizing your admin menu :) *Notes* * Instead of installing Admin Menu Editor in `mu-plugins`, you can also install it normally and then activate it globally via "Network Activate". However, this will make the plugin visible to normal users when it is inactive (e.g. during upgrades). * When Admin Menu Editor is installed in `mu-plugins` or activated via "Network Activate", only the "super admin" user can access the menu editor page. Other users will see the customized Dashboard menu, but be unable to edit it. == Screenshots == 1. Plugin interface 2. A sample menu created by the plugin 3. Re-ordering menu items via drag and drop == Changelog == = 1.9 = * Added an option to automatically hide new plugins. It was already possible, but previously this option was tied to the "show all plugins" checkbox. Now there is a separate "New plugins" checkbox. * Fixed a bug where trying to change the icon of the Jetpack menu caused a JavaScript error that prevented the icon selector from being displayed. * Tested up to WP 5.2. = 1.8.8 = * Added the ability to edit more plugin details like author name, site URL and version number. Note that this feature only changes how plugins are displayed. It doesn't actually modify plugin files. * Fixed a PHP deprecation notice: "strpos(): Non-string needles will be interpreted as strings in the future". Hopefully this time it's been fixed for good. * Fixed a couple of HTML validation errors. * Fixed an inefficiency where the plugin would reinitialise the media frame every time the user tried to select an image from the media library. * Added a partial workaround for situations where menu icons that were more than 32 pixels wide would be displayed incorrectly. * Tested up to WP 5.1.1. = 1.8.7 = * Fixed a bug introcuded in 1.8.6 that caused a PHP warning "strpos(): Empty needle". = 1.8.6 = * Fixed a PHP warning being thrown when the WPMU_PLUGIN_DIR constant is not a valid path or the full path cannot be determined. * Fixed a rare PHP warning "parameter 1 to be array, null given in menu-editor-core.php on line 4254" that was most likely caused by an unidentified plugin conflict. * Fixed a rare warning about a class being redefined. * Updated a number of internal dependencies. * Tested with WP 5.0. = 1.8.5 = * Fixed a bug where very long submenus wouldn't be scrollable if the current item was one that was moved to the current submenu from a different top level menu. * Fixed an obscure bug where clicking on an item in the current submenu could cause the entire submenu to "jump" up or down. * Fixed AME not highlighting the correct menu item when there was a space in any of the query parameter values. * Fixed another bug where the plugin didn't highlight the correct item if it was the first item in a submenu and also a custom item. = 1.8.4 = * Added a "Documentation" link below the plugin description. For people concerned about the recent GDPR legislation, the documentation now includes a page explaining [how the plugin processes personal data](https://adminmenueditor.com/free-version-docs/about-data-processing-free-version/). Short version: It usually doesn't. * Tested with WP 4.9.6. = 1.8.3 = * Added a couple of tutorial links to the settings page. * Fixed a potential crash that was caused by a bug in the "WP Editor" plugin version 1.2.6.3. * Fixed some obsolete callback syntax that was still using "&$this". * Changed the order of some menu settings and added separators between groups of settings. * Removed the "Screen Options" panel from AME tabs that didn't need it like "Plugins". * Tested with WP 4.9.5. = 1.8.2 = * Fixed the PHP warning "count(): Parameter must be an array or an object that implements Countable in menu-editor-core.php". * Fixed a bug that could cause some network admin menus to be highlighted in green as if they were new. * Fixed a conflict with WP Courseware 4.1.2 where activating AME would cause many extra menu items to show up unexpectedly. * Fixed a conflict with Ultra WordPress Admin 7.4 that made it impossible to hide plugins. * Replaced the "this is a new item" icon with a different one. * Tested with WP 4.9.4. = 1.8.1 = * Added a workaround for a buggy "defer_parsing_of_js" code snippet that some users have added to their functions.php. This snippet produces invalid HTML code, which used to break the menu editor. * Fixed a PHP warning that appeared when using this plugin together with WooCommerce or YITH WooCommerce Gift Cards and running PHP 7.1. * Minor performance improvements. * Tested with WP 4.8.3 and 4.9. = 1.8 = * You can edit plugin names and descriptions through the "Plugins" tab. This only changes how plugins are displayed on the "Plugins" page. It doesn't affect plugin files on disk. * Added an option to highlight new menu items. This feature is off by default. You can enable it in the "Settings" tab. * Added an option to compress menu data that the plugin stores in the database. * Added a compatibility workaround for the Divi Training plugin. The hidden menu items that it adds to the "Dashboard" menu should no longer show up when you activate AME. * Added a workaround that improves compatibility with plugins that set their menu icons using CSS. * Fixed an old bug where sorting menu items would put all separators at the top. Now they'll stay near their preceding menu item. * Fixed incorrect shadows on custom screen options links. * Fixed a couple of UI layout issues that were caused by bugs in other plugins. * Fixed a rare issue where hiding the admin bar would leave behind empty space. * When you use the "A-Z" button to sort top level menus, it also sorts submenu items. To avoid compatibility issues, the first item of each submenu stays in its original position. * Automatically reset plugin access if the only allowed user no longer exists. This should cut down on the number of users who accidentally lock themselves out by setting "Who can access the plugin" to "Only the current user" and then later deleting that user account. * Minor performance optimizations. = 1.7.3 = * Fixed a bug where closing the menu properties of a custom menu item could set "extra capability" to "read". * Added a workaround for WooCommerce 2.6.8 to display the number of new orders in the "Orders" menu title. * Minor cosmetic changes. * Tested with WP 4.7 and 4.8-alpha. = 1.7.2 = * Added capability suggestions and access preview to the "Extra capability" dropdown. * The plugin now remembers the last selected menu item and re-selects it after you save changes. * Fixed a layout issue where menus with very long titles would appear incorrectly in the menu editor. * When you change the menu title, the window title will also be changed to match it. You can still edit the window title separately if necessary. * Moved the "Icon URL" field up and moved "Window title" down. = 1.7.1 = * Split the "required capability" field into two parts - a read-only field that shows the actual required capability, and an editable "extra capability" that you can use to restrict access to the menu. * Added more detailed permission error messages. You can turn them off in the "Settings" tab by changing "Error verbosity level" to "Low". * Tested up to WP 4.6. = 1.7 = * Added a "Plugins" tab. It lets you hide specific plugins from other users. Note that this only affects the list on the "Plugins" page and tasks like editing plugin files, but it doesn't affect the admin menu. * Tested up to WordPress 4.6-beta3. = 1.6.2 = * Fixed a bug that made menu items "jump" slightly to the left when you start to drag them. * Fixed a Multisite-specific bug where temporarily switching to another site using the switch_to_blog() function could result in the user having the wrong permissions. * When saving settings, the plugin will now compress the menu data before sending it to the server. This reduces the chances of exceeding request size limits that are imposed by some hosting companies. * You can dismiss the "Settings saved" notification by clicking the "x" button. * Tested up to WordPress 4.5.2. = 1.6.1 = * Fixed a bug introduced in version 1.6 that prevented the "collapse menu" link from working. In some cases, this bug also made it impossible to switch between "Help" tabs. = 1.6 = * Improved PHP 7 support. * Added a few more menu icons. * Added tabs to the settings page: "Admin Menu" and "Settings". These tabs replace the heading buttons that were previously used to switch between the menu editor and general plugin settings. * Added basic support for the special "customize" and "delete_site" meta capabilities. * Fixed a bug that prevented menu items with an empty slug (i.e. no URL) from showing up. * Fixed a bug where collapsing menu properties would flag the "Icon URL" field as having a custom value even if you hadn't actually changed it. * Fixed a rare WPML conflict that sometimes caused the admin menu to use a mix of different languages. * Improved compatibility with buggy plugins and themes that throw JavaScript errors in their DOM-ready handlers. * Renamed jquery.cookie.js to jquery.biscuit.js as a workaround for servers with overly aggressive ModSecurity configuration. Apparently, some servers block access to any URL that contains the text ".cookie". * Added a compatibility workaround for the DW Question & Answer plugin. The hidden "Welcome", "Changelog" and "Credits" menu items should no longer show up when you activate AME. * Added locking to reduce the risk of triggering a race condition when saving menu settings. * Removed the non-functional "Embed WP page" option. * Tested up to WordPress 4.5-RC1. = 1.5 = * Added "Keep this menu open" checkbox. This setting keeps a top level menu expanded even if it is not the current menu. * Added sort buttons to the top level menu toolbar. * Added an arrow that points from the current submenu to the currently selected parent menu. This might help new users understand that the left column shows top level menus and the right column shows the corresponding submenu(s). * Added a new editor colour scheme that makes the menu editor look more like other WordPress admin pages (e.g. Appearance -> Menus). You can enable it through the plugin settings page. * New and unused menu items will now show up in the same relative position as they would be in the default admin menu. Alternatively, they can be displayed at the bottom of the menu. You can configure this in plugin settings. * Fixed a rare bug where the menu editor would crash if one of the menu items had a `null` menu title. Technically, it's not valid to set the title to `null`, but it turns out that some plugins do that anyway. * Top level menus that have an empty title ("", an empty string) are no longer treated as separators. * Made all text fields and dropdowns the same height and gave them consistent margins. * Fixed a number of layout bugs that could cause field labels to show up in the wrong place or get wrapped/broken in half when another plugin changed the default font or input size. * Fixed a minor layout bug that caused the "expand menu properties" arrow to move down slightly when holding down the mouse button. * Fixed a minor bug that could cause toolbar buttons to change size or position if another plugin happens to override the default link and image CSS. * Added a workaround for plugins that create "Welcome", "What's New" or "Getting Started" menu items and then hide those items in a non-standard way. Now (some of) these items will no longer show up unnecessarily. If you find menus like that which still show up when not needed, please report them. * Fixed a few other layout inconsistencies. * Improved compatibility with buggy plugins that unintentionally corrupt the list of users' roles by misusing `array_shift`. * Fixed a URL parsing bug that caused AME to mix up the "Customize", "Header" and "Background" menu items in some configurations. * Fixed a layout issue where starting to drag one menu item would cause some other items to move around or change size very slightly. * Fixed JavaScript error "_.empty is not a function". * Increased minimum required WordPress version to 4.1. * Renamed the "Show/Hide" button to "Hide without preventing access". Changed the icon from a grey puzzle piece to a rectangle with a dashed border. * Made the plugin more resilient to JavaScript crashes caused by other plugins. * Use `