Featured in: Display menu items with equal widths
<?php | |
/* | |
* Equal Sized Menu Items | |
* @author Bill Erickson | |
* @link http://www.billerickson.net/menu-item-equal-widths/ | |
* | |
* @param array $classes, current menu classes | |
* @param object $item, current menu item | |
* @param object $args, menu arguments | |
* @return array $classes | |
*/ | |
function be_equal_sized_menu_items( $classes, $item, $args ) { | |
// Only run on the header menu | |
if( 'header' !== $args->theme_location ) | |
return $classes; | |
// Only run on top level menu items | |
if( $item->menu_item_parent ) | |
return $classes; | |
// Grab all menu items | |
$menu_items = wp_get_nav_menu_items( $args->menu->term_id ); | |
// Remove submenu items | |
foreach( $menu_items as $i => $menu_item ) | |
if( $menu_item->menu_item_parent ) | |
unset( $menu_items[$i] ); | |
// Count all top level items, and add as a class | |
$classes[] = 'count-' . count( $menu_items ); | |
return $classes; | |
} | |
add_filter( 'nav_menu_css_class', 'be_equal_sized_menu_items', 10, 3 ); |
.genesis-nav-menu .menu-item.count-2 { | |
width: 50%; | |
} | |
.genesis-nav-menu .menu-item.count-3 { | |
width: 33.3333%; | |
} | |
.genesis-nav-menu .menu-item.count-4 { | |
width: 25%; | |
} | |
.genesis-nav-menu .menu-item.count-5 { | |
width: 20%; | |
} | |
.genesis-nav-menu .menu-item.count-6 { | |
width: 16.666666667%; | |
} | |
.genesis-nav-menu .menu-item.count-7 { | |
width: 14.285714286%; | |
} | |
.genesis-nav-menu .menu-item.count-8 { | |
width: 12.5%; | |
} | |
.genesis-nav-menu .menu-item.count-9 { | |
width: 11.111111111%; | |
} | |
.genesis-nav-menu .menu-item.count-10 { | |
width: 10%; | |
} |