MAJpage Menu Class Extender Plugin
Adds classes to first, last, parent, even and odd elements of wp_page_menu and wp_nav_menu.
This simple plugin was written to add classes to first, last, parent, even and odd elements of wp_page_menu and wp_nav_menu to support recognizing it in older browsers without :first-child, :last-child and :nth-child supporting.
Plugin adds the following classes to menu <li> tags:
- “first-menu-item” to every first child of <ul> or <menu> tag,
- “last-menu-item” to every last child of <ul> or <menu> tag,
- “parent-menu-item” to every child of <ul> or <menu> tag that has another <ul> or <menu> tag inside (a parent to another menu level),
- “odd-menu-item” to every odd child of <ul> or <menu> tag, including first and/or last child,
“even-menu-item” to every even child of <ul> or <menu> tag, including first and/or last child.
Above classes are added separately to each menu level. Plugin use SimpleXML extension and requires PHP 5 or higher. Menu should have valid XHTML code.
Installation
- Upload “majpage-menu-class-extender.php” to the “/wp-content/plugins/” directory.
- Activate the plugin through the “Plugins” menu in WordPress.
- That’s all – plugin is fully operational and adds specified classes in every wp_page_menu and wp_nav_menu element with menu defined in “Menus” tab.
Changelog
1.6
- Fix missed variable declarations.
1.5
- Replace deprecated function.
1.4
- Plugin functions changed into MAJpageMCE class static methods.
- wp_page_menu container support added thanks to Dinesh Kesarwani’s notice.
- Cause of the strict standards warning corrected thanks to flynsarmy’s notice.
1.3
- HTML5 <menu> tag support added thanks to Tomas Kapler’s notice.
- wp_nav_menu container tag support included.
1.2
- Bug fixed with correct working in case of wp_nav_menu container absence.
- “parent-menu-item” class added.
1.1
- Bug fixed with HTML special chars existence.
- Improved menu list searching inside a container.
1.0