web-dev-qa-db-fra.com

Définir l'état actif du menu pour le type et la catégorie de publication personnalisée, en fonction du terme de taxonomie personnalisé

Comment définir l'état actif du menu pour un type de message et une catégorie personnalisés, à partir d'un terme de taxonomie personnalisé?

J'ai une taxonomie personnalisée: région, un posttype personnalisé: entreprise et j'utilise la taxonomie des catégories. Mon menu principal personnalisé comprend les termes de la région.

Lorsque je sélectionne une région, l'élément de menu correspondant est mis en surbrillance, puis cliquez sur OK. La page de région affiche une liste des catégories pertinentes. Maintenant, lorsque je sélectionne une catégorie sur cette page, l'élément de menu correspondant n'est pas mis en surbrillance. À son tour, la page des catégories affiche une liste des entreprises. De plus, lorsque je clique sur une entreprise, l'élément de menu correspondant n'est pas mis en surbrillance.

Alors, comment définir l’état actif du menu sur une page de catégorie et sur une publication, à partir d’un terme de taxonomie personnalisé? J'ai une région variable de session disponible sur ces pages.

1
Henk Jan

Lorsque vous créez un élément de menu personnalisé pour l'archive de type publication personnalisée, vous devez inclure l'URL complète et pas seulement /your-custom-post-type-name. Si vous utilisez l'intégralité de l'URL, la fonction wordpress url rewrite le comparera à tous les autres éléments du menu, ainsi qu'à toutes vos pages, etc. Dans le menu parent, vous obtenez quelque chose comme current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor.

1
Studio Snapsize

Vous pouvez probablement le faire via CSS. Comme le corps contient des classes alignées en fonction de la page affichée et que les entrées de menu ont des classes et des identifiants indépendants, vous pouvez probablement coder la surbrillance en surbrillance dans un CSS personnalisé.

Si la surbrillance est faite avec du balisage au lieu de CSS, cela n’est pas possible. Mais je pense que ce n'est pas le cas.

Inspectez donc (par exemple avec Firebug) la balise body de ces pages et recherchez les identifiants des éléments de menu. A côté de cela, vous pouvez vérifier comment la surbrillance est faite avec Firebug.

Le reste devrait être copier et coller.

1
hakre