2 votes

plusieurs classes dans container_class de wp_nav_menu dans wordpress

J'utilise wordpress con twitter bootstrap dans lequel on essaie de concevoir un menu de navigation ...

J'ai appelé wp_nav_menu et à l'intérieur de celui-ci, j'ai défini les paramètres associés mentionnés dans le document suivant Référence de la fonction/wp nav menu ...

Ce que j'essaie de faire, c'est d'ajouter des classes multiples au menu du conteneur, par exemple :.

wp_nav_menu( array( 
    'menu_class' => 'class1 class2 class3', 
    'container_class' => 'nav-collapse collapse',
) );

Il ne fonctionne pas du tout, le navigateur affiche menu-menu-container classe sur container_class en effet...

Quelle peut être l'astuce pour que cela fonctionne ? Est-ce que je fais quelque chose de mal ?

3voto

cept0 Points 1619

Wordpress étend les noms des classes de menu par défaut :

... class="menu-'. $menu->slug . '-container"' ;

Fuente: http://core.trac.wordpress.org/browser/trunk/wp-includes/nav-menu-template.php#L202

Vous pourriez utiliser votre propre classe de marcheur . Elle ne "fait" rien (dans le sens de générer du HTML). Elle trace simplement chaque branche de votre arbre : elle doit être étendue par d'autres classes qui lui indiquent quoi faire pour chaque élément qu'elle rencontre.

WordPress fournit ses propres classes d'extension, telles que :

  • Walker_Nav_Menu - pour l'affichage du HTML des menus de navigation
  • Walker_Page - pour l'affichage d'une liste de pages
  • Walker_Category - pour afficher une liste de termes de taxonomie.

Ejemplo:

$walker = new Custom_Walker_Menu();

wp_nav_menu( array( 
    'menu_class' => 'class1 class2 class3', 
    'container_class' => 'nav-collapse collapse',
    'walker' => $walker
) );

Veuillez lire la référence : Référence de la classe/marcheur .

Il existe de nombreuses classes de nav walker WordPress personnalisées à mettre en œuvre, consultez cette page dépôt .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X