Afin de faire une navigation (à partir de zéro), j'ai modifié la sortie du promeneur. Actuellement, j'essaie de trouver un moyen d'inclure la "classe CCS facultative" (trouvée dans Apparences -> Menu dans le WP Admin) dans le menu de l'élément de sortie (start_el). Je commence à me demander si c'est possible à ce stade. C'est pourquoi je voudrais votre aide. J'utilise ce tableau pour déterminer si un élément a des enfants ou est actif:
$usedclasses = array(
(in_array('current-menu-item', $item->classes) ? 'current-menu-item' : ''),
(in_array('menu-item-has-children', $item->classes) ? 'menu-item-has-children' : ''),
($depth % 2 ? 'odd' : 'even')
); $class_names = 'class="' . implode( ' ', $usedclasses ) . '"';
Est-il possible d'ajouter les classes ajoutées personnalisées sans avoir à inclure toutes les classes de fouillis? Donc en essayant d'éviter d'utiliser:
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
Vous n'êtes pas sûr de vouloir le faire comme ceci, mais juste au cas où, vous pouvez utiliser le filtre nav_menu_css_class
:
function my_special_nav_class( $classes, $item ) {
if ( is_single() && $item->title == 'Blog' ) {
$classes[] = 'special-class';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
Vous trouverez plus d’exemples ici