Opened 14 years ago
Closed 11 years ago
#15214 closed enhancement (duplicate)
Add class for menu items containing a sub-menu
Reported by: | chrisjean | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.1 |
Component: | Menus | Keywords: | has-patch 3.4-early |
Focuses: | Cc: |
Description
I wanted to add a class to the menu item LI elements for navigation menus that have sub menus. This would allow me to do some specific styling such as using a background that shows that a sub menu is available on hover.
I found that adding this support for both the wp_nav_menu and wp_list_pages functions was quite simple. So, I put together a patch in case it might be a good candidate for core.
The new classes are menu-item-with-sub-menu and page_item_with_children for wp_nav_menu and wp_list_pages, respectively. These class names were chosen to closely match the existing navigation classes of menu-item, sub-menu, page_item, and children.
I should note that while making this modification I found that the display_element method of the Walker class doesn't set has_children when $args is an object, just when it is an array. The patch also handles fixing this shortcoming of the Walker API.
Attachments (3)
Change History (14)
#6
@
12 years ago
Current version is 3.4.1 and this still isn't in trunk. What's the status on this one?
The file classes.php doesn't exist anymore, so the patch is now outdated.
The Walker class is now in class-wp-walker.php, but still need the two-line-update to accomodate for when $args is an object.
The changes in both the Walker_Page class (now in post-template.php) and nav-menu-template.php can now be done with a filter (wasn't possible at the time the ticket was opened).
Related: #14041 #14102