Nav Menu Roles
This plugin lets you hide custom menu items based on user roles. So if you have a link in the menu that you only want to show to logged in users, certain types of users, or even only to logged out users, this plugin is for you. Nav Menu Roles is very flexible. In addition to standard user roles, you can customize the functionality by adding your own check boxes with custom labels using the nav_menu_roles filter and then using the nav_menu_roles_item_visibility filter to check against whatever criteria you need. You can check against any user meta values (like capabilities) and any custom attributes added by other plugins. IMPORTANT NOTE In WordPress menu items and pages are completely separate entities. Nav Menu Roles does not restrict access to content. Nav Menu Roles is only for showing/hiding nav menu items. If you wish to restrict content then you need to also be using a membership plugin. Usage Go to Appearance > Menus Set the “Target audience” to either “Everyone”, “Logged In Users”, or “Logged Out Users”. “Everyone” is the default. If you wish to customize by role, set the “Target audience” to “Logged In Users” and under “Target role” check the boxes next to the desired roles. The item will be visible to users who have any of the checked roles. Roles are not hierarchical, so an item set to “Subscriber” is not visible to Administrators unless you also check “Administrator”. If no roles are checked, the item is visible to all logged in users. Set the “Display Mode” to “Show” to display the item only to the selected audience, or to “Hide” to hide the item from the selected audience and show it to everyone else. “Show” is the default. Support Support is handled in the WordPress forums. Please note that support is limited and does not cover any custom implementation of the plugin. Before posting, please read the FAQ. Also, please verify the problem with other plugins disabled and while using a default theme. Please report any bugs, errors, warnings, code problems to GitHub
Purify Menus
Improve page speed by letting slim down the HTML code of menus and category lists to the only CSS classes and attributes your theme needs. The plugin is available in English, Spanish (Español) and German (Deutsch). Less code, higher page speed This plugin deletes the CSS classes you do not need in a navigation menu, page menu and category list. It slims down the HTML code of WordPress menus and category lists to the only neccessary CSS classes you want for your theme. This results in less HTML code and thus in higher page speed. If you are very concerned about the loading time of your website and you do not manage to gain seconds or tenths in the loading of the site with 3rd party caching plugins, you may find it interesting to experiment with the plugin Purify WordPress Menus and evaluate its possibilities. What users said …interesante experimentar… in Reduce CSS en WordPress y mejora la carga by Luis Méndez Alejo on August 20, 2015 Number 1 in Cool List of Free Navigation Menu WordPress Plugins by Inspiration on January 8, 2015 Number 7 in 13 Excellent Free WordPress Widgets for Menus by mike on November 24, 2014 Number 6 in 13 Great Free HTML Widgets for WordPress by sam on August 27, 2014 Number 8 in 10 Magnificent Free Menus Widgets for WordPress by jatin on July 26, 2014 No undesirable visual effects The visual appearance of menus and category lists in the frontend remains unchanged in most cases. If you should see an undesirable visual effect to the menus and category lists in your theme, then you can activate the needed CSS classes on the plugin’s options page. Deactivate it and keep your settings If you deactivate the plugin, your settings remains. If you activate the plugin again, your last settings will be used. You do not need to go over all settings again. Residue-free deletion If you delete the plugin via the WordPress ‘Plugin’ menu, your settings will be deleted, too. No useless option remains in the WordPress database. Default setting: Marks the current menu item only The default setting is to output only the CSS classes for the navigation menu items of the current post and the current category. Stops displaying CSS classes of parents and ancestors of menu items and category list items If activated by yourself, then items which are parents of the current item will not be classified as ancestors additionally. You can set that separately for both menus and category lists. Stops displaying CSS classes of outdated page menus This plugin filters out the old CSS classes of page menus in navigation menus. Using the WordPress menu configurator the page menu classes are not necessary anymore. Stops displaying #menu-{id} This plugin deletes the ID attribute of each menu item. In most cases the ID of every menu item is not needed. Stops displaying CSS classes of category lists This plugin filters out the CSS classes of each item in category lists. Uses WordPress standard functions This plugin hooks into the WordPress core functions wp_nav_menu(), wp_page_menu() and wp_list_categories(). It changes the results of those functions to the settings you have done. Switch on and off every CSS menu item class You can: select and deselect in detail every CSS menu item class the WordPress core functions wp_nav_menu(), wp_page_menu() and wp_list_categories() generate control whether the id attribute of each navigation menu item is printed out or not control whether parent items will be additionally classified as ancestors item or not. You can activate to print out both classes on parent items or just parents classes control whether navigation menus will be additionally classified with the older page menu classes for compatibility or not. Languages Purify WordPress Menus is available in multiple languages maintained by the amazing WordPress community. Your language is missing? Please be part of the community and help to translate Purify WordPress Menus on GlotPress. Thank you!