Bon ça fait un bout que je cherche une solution à un petit problème spécifique de WordPress, qui normalement ne devrait pas être compliqué, sans que mes recherches portent fruits avec Google, alors je vais écrire un petit mot à ce sujet.
Ça peut paraître simple, mais je ne trouvais pas un moyen d’aller chercher l’identifiant de la catégorie (slug name ou nice name) première d’une page (que ce soit une page catégorie elle-même, ou un article) afin de pouvoir déterminer quel menu principal sera illuminé, question de garder informé les visiteurs de la catégorie principale où ils se trouvent dans le site, et ce, même s’il y avait plusieurs sous-catégories.
Grâce aux deux pages de documentation suivantes, j’ai pu composer une brève fonction php:
http://codex.wordpress.org/Function_Reference/get_category_parents
http://codex.wordpress.org/Function_Reference/get_the_category
La voici:
$the_category = get_the_category();
$category = $the_category[0]->cat_ID;
$parent_category_array = explode("~", get_category_parents($category, FALSE, "~", TRUE));
$parent_category = $parent_category_array[0];
Il reste après à comparer $parent_category
avec la catégorie du menu, par exemple, photos-montagnes
, pour changer le style du lien au menu afin d’indiquer la catégorie parente générale. Avec un peu d’imagination, il devrait être facile d’aller chercher l’identifiant numérique, ou autre valeur.