Skip to content

Instantly share code, notes, and snippets.

@annalinneajohansson
Last active December 25, 2015 06:59
Show Gist options
  • Save annalinneajohansson/6935698 to your computer and use it in GitHub Desktop.
Save annalinneajohansson/6935698 to your computer and use it in GitHub Desktop.
Enumerate wp nav menu items. Inomplete ancestry detection; only detects parent <-> child, so 1 level.
<?php
add_filter( 'wp_get_nav_menu_items', 'hip_enumerate_nav_menu_items', 10, 3 );
function hip_enumerate_nav_menu_items( $items, $menu, $args ){
if( !is_admin() ) :
$i = 1;
foreach ( $items as $item ) {
if( $item->menu_item_parent == 0 ) {
$child_i = 0;
$item->classes[] = "parent-menu-item-$i";
if( $i == 1 ) $item->classes[] = "parent-menu-item-first";
++$i;
} else {
++$child_i;
$item->classes[] = "child-menu-item-$child_i";
}
}
endif;
return $items;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment