web-dev-qa-db-fra.com

Comment ajouter une classe (css) à un lien personnalisé pour la rendre current_page_item

En tant qu'élément de menu personnalisé, wp n'ajoute pas la classe current_page_item

Tous les autres liens sont-ils?

<ul class="nav" id="menu-mainmenu"><li class="menu-item menu-item-type-custom menu-item-home menu-item-21152" id="menu-item-21152"><a href="http://mydomain/">Home</a></li>
<li class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21154 current_page_item menu-item-21156" id="menu-item-21156"><a href="http://mydomain/">Future TV Guide</a></li>
<li class="menu-item menu-item-type-post_type menu-item-21153" id="menu-item-21153"><a href="http://mydomain/">About</a></li>
</ul>

Je voudrais montrer comme un lien actif

1
erichmond

Ne pouvez-vous pas simplement cibler .current-menu-item avec .current_page_item?

0
Chip Bennett

Il est un peu difficile pour WP de comprendre que votre élément de menu personnalisé est l'élément actif. Après tout, il s’agit de liens externes, il se peut donc même que votre WP n’installe plus. Puisque WP génère le menu à chaque chargement de page, il essaie simplement de déterminer correctement l'élément de menu actif.

Pour surmonter votre problème ... premièrement, déterminez si vous pouvez faire ce que vous devez faire sans placer un élément de menu personnalisé. Si vous voyez toujours votre menu WP sur cette cible "personnalisée", il est fort probable que vous puissiez l'ajouter au menu par d'autres moyens.

Si, pour une raison quelconque, ce n'est pas une option, comparez les classes de style attachées à votre balise <body> avec celles attachées à l'entrée de menu. Par exemple, si une page est liée au résultat, elle affiche page-id-2 sur la balise body et page-item-2 sur l'entrée de menu.

Ajustez votre feuille de style pour mettre en surbrillance la combinaison de celle-ci comme étant active, par exemple dans mon cas ce serait une entrée

body.page-item-2 #menu-main-menu .page-id-2 {
    whatever: styles;
    are: suitable;
}

Notez également que vous avez un contrôle limité sur au moins une entrée dans les classes d’éléments de menu en ajustant le slug d’entrée de menu.

1
wyrfel