Opened 14 months ago
Closed 14 months ago
#20347 closed enhancement (duplicate)
Extra menu classes ( First, Last )
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Menus | Version: | 3.3.1 |
| Severity: | minor | Keywords: | close |
| Cc: |
Description
It would be nice to add, only to the first and the last item, an extra class to the current ( very useful ) list of menu classes.
Ex: if the menu is composed as following:
# Home
# Second Page
# Third Page
# Last page.
than :
Home will also have the class $menuClass-first Last page will also have the class $menuClass-last
So far i solved this "issue" hooking to the filter wp_nav_menu_objects with the following code:
static function addUsefulClassesToMenusElements($sorted_menu_items, $args) {
$count = 0;
$menuClass = $args->menu_class;
foreach ($sorted_menu_items as $k=>$item) {
if ($count == 0) {
$item->classes[] = $menuClass.'-first';
}
if ($count == count($sorted_menu_items)-1) {
$item->classes[] = $menuClass.'-last';
}
$count++;
}
return $sorted_menu_items;
}
Change History (4)
comment:1
SergeyBiryukov — 14 months ago
- Keywords close added; has-patch removed
:first-child and/or :last-child should work in modern browsers, in any case. I believe :first-child is IE7+, :last-child is IE9+.
Note: See
TracTickets for help on using
tickets.

Related: #14250, #15529