web-dev-qa-db-fra.com

Comment supprimer les attributs de classe du balisage de menu personnalisé?

Je ne fais que jouer avec l’ajout du support "menu personnalisé" à mon thème. Je suis super excité à ce sujet.

CEPENDANT,

Check this out>

<ul id="menu-my-main-menu" class="menu">
  <li id="menu-item-12" 
      class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-12">
      <a href="http://localhost/bizsite">Home</a>
  </li>
</ul>

Le pire cas de "classe-itus" Je pense que j'ai jamais vu. Est-ce que c'est quelque chose que "j'ai" fait involontairement ou est-ce le défaut?

Comment puis-je contrôler ou supprimer les attributs de classe dans ces menus?

1
Scott B

Vous pouvez utiliser le filtre nav_menu_css_class pour supprimer les classes de votre élément de menu.

Voir l'exemple ci-dessous pour supprimer TOUTES les classes CSS ajoutées à vos éléments de menu:

add_filter('nav_menu_css_class','remove_nav_menu_classes');
function remove_nav_menu_classes($classes) {
    return array(); 
}

Faites une print_r($classes) si vous voulez savoir quelles classes sont actives dans votre menu.

5
keatch