Primeira e última classes CSS para menus de navegação do WordPress

Às vezes, você pode querer ter classes CSS que identifiquem o primeiro e o último itens em um menu, especialmente nos casos em que deseja oferecer suporte a navegadores que não suportam: seletores de primeiro filho e: último filho.

Portanto, aqui está um filtro WordPress simples que você adiciona no arquivo functions.php do seu tema .

add_filter('wp_nav_menu_objects', 'first_and_last_menu_class', 10, 1);
function first_and_last_menu_class($items) {
$items
[1]->classes[] = 'menu-item-first';
$item_count
= count($items);
for($i = $item_count; $i >=0; $i--) {
if($items[$i]->menu_item_parent == 0) {
// found it
$items
[$i]->classes[] = 'menu-item-last';
break;
}
}
return $items;
}

Adicionar a primeira classe do item de menu é bastante simples, basta adicioná-lo ao primeiro item de navegação.

O último item de navegação é um pouco mais complicado. Porque você tem que ter certeza de que é o último com o item de menu pai igual a 0, caso contrário, você acabará atribuindo o último item de menu a um item de menu filho.