To reduce the extraneous WordPress classes and add unique IDs to navigation menus.
This plug-in limits the classes WordPress added to navigation menus to only those desired by the Theme owner,
adds a unique ID to each
li and removes any empty
More about this plug-in can be found at: http://aarontgrogg.com/2011/09/28/wordpress-plug-in-navigation-menu-ids-classes/
Please let me know if you have any questions/suggestions/thoughts,
- WP bakes in a ton of extraneous, border-line-useless, IDs and classes on navigation menu LIs (are you really going to
.page-item-58in your CSS?). This plug-in greatly reduces those classes, and adds classes that reflect the link's page name, in slug form, so you can easily target menu LIs in your CSS.
What WP classes are allowed to remain?
- Any that you choose.
Does this work with standard and custom menus?
- Yes, both standard and custom menus will get class names that reflect the page name from the link they contain, such as:
- About Us
2015-05-15: * Tested for WP 4.2.2 and slight refactoring of code
2015-03-13: * Fixing issue if no custom classes exist
2013-07-11: * Added ability to retain custom class added via the Menus Admin page; thanks to Bryce for the idea, and sorry it took me so long to get around to!
2013-04-07: * Fixed naming issue preventing plug-in from working and fixed screenshots
* Fixed an issue where individual checkboxes seemed to not respond to click (in fact, thanks to WP's layout and jQuery's bubbling, my toggle function was toggling twice). Was able to fix issue and remove the toggle function altogether. Thanks, Erin Allen!
* Fixed an issue where the
for attribute for all of the
labels was not getting added correctly. Now the
label for each row spans the entire row, meaning you can click anywhere in a row to toggle that checkbox.
NMIC.checkboxes.prop in the
* Finally added the admin screen!
if ( ! function_exists( '...' ) ): blocks around each plug-in function
* Changed function namesspace from
* Still want to find a way to gather possible WP class names programmatically, for "this" version of WP; any ideas?
2012-02-27: * Page name slug classes were not working; this has been fixed. Thanks to Christopher Bright for getting me to look into this. * Removed nmic_remove_empty_classes function, as it is no longer necessary now that all nav menu LIs will have at least one class: the page name slug.
2011-09-28: Well, this is the first version, so... here it is, hope you like it!
- Download the ZIP
- Unzip the ZIP
- Copy/paste the unzipped files into your WP plug-in directory (
- From within WP's Plugin Admin panel, Activate the 'Navigation Menu IDs & Classes' plug-in
- Choose which, if any, WP classes you wish to have in your HTML
- Marvel at the power of technology!