Comment spécifier manuellement la page active actuelle avec wp_nav_menu ()


9

Existe-t-il un moyen de spécifier manuellement quelle page est actuellement "active" lors de l'utilisation wp_nav_menu()?

J'ai une page "Produits", et sur cette page j'ai des liens vers diverses taxonomies personnalisées (dynamiques). Lorsque je clique sur l'une de ces taxonomies, je reste sur la page "Produits" mais wp_nav_menu()perd la référence à ce fait que je suis toujours sur la page "Produits". Existe-t-il un moyen de résoudre ce problème?

Merci!

Jon

Réponses:


12

Si vous souhaitez simplement ajouter la current_page_itemclasse à un élément de menu, vous pouvez vous connecter au nav_menu_css_classfiltre et ajouter cette classe si nécessaire. Il est appelé lorsque le menu est imprimé .

Si vous souhaitez accéder à l'ensemble du menu et ajouter des classes, connectez-vous au wp_get_nav_menu_itemsfiltre, où vous obtenez l'ensemble du $itemstableau. Vous pouvez modifier les classespropriétés des éléments individuels.


2

@Jon Tant que vous utilisez <body <?php body_class(); ?>>WordPress affectera la classe current_page_itemà votre menu ainsi que current_page_parentsi vous utilisez des menus déroulants.


1
Salut Chris, Merci pour la réponse. J'utilise le <body <? Php body_class (); ? >> mais le problème est qu'en ce qui concerne le wp_nav_menu (), les taxonomies en cliquant dessus ne lui sont pas liées! Donc, je dois dire à wp_nav_menu () - si la page est X, montrer "Products" comme current_page_parent.
Jon

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.