Je souhaite supprimer les classes sub-menu
ul et .menu-item-has-children
lorsque la profondeur du menu est supérieure ou égale à 2.
Donc, je veux seulement un menu avec 3 sous-menus au maximum. Les autres éléments enfants seront toujours affichés dans le menu mais pas dans un sous-menu.
Avec wp_nav_menu ('profondeur' => 3), il n’ajoute pas tous les éléments. Donc, je pense que je dois utiliser un navigateur de déambulateur personnalisé.
Je ne sais pas comment faire avec start_lvl
. Quel est le moyen de compter la profondeur et de supprimer ul et classes ...
Mon but est de changer ce menu:
à ce menu:
Et le comportement indésirable fournit par l'option wp_nav_menu ('profondeur' => 3) dans wordpress
J'ai essayé avec ça:
function start_lvl(&$output, $depth) {
if($depth >= 2) {
$output .= '';
} else {
$output .= "<ul class='sub-menu'>";
}
}
Cela fonctionne presque, mais cela crée un problème avec ul dans mon menu de navigation.
À première vue, et sans rien tester, le code que vous possédez devrait fonctionner, mais je suppose que vous avez un certain nombre de </ul>
parasites dans votre balisage. Vous devez faire presque la même chose pour la méthode end_lvl
.
function end_lvl(&$output, $depth) {
if($depth >= 2) {
$output .= '';
} else {
$output .= "</ul>";
}
}
Je ne sais pas si c'est le problème avec votre megamenu ou non.