Mon thème a un style par catégorie en utilisant le code suivant, qui insère le slug de la catégorie actuelle en tant que classe CSS.
<div class="CategorySpecificStyle
<?php $category = get_the_category(); echo $category[0]->slug; ?>">
<?php echo $category[0]->cat_name; ?>
</div>
Maintenant, je suis sur le point d'ajouter un grand nombre de nouvelles sous-catégories, et il semble idiot de les ajouter toutes en CSS alors que je devrais être en mesure de sélectionner la catégorie parente du message actuel et d'y appliquer des styles.
J'ai pu obtenir le nom de la catégorie parent:
$parentcat = get_cat_name($category[0]->category_parent);
Mais les espaces (et la capitalisation) sont un problème ... Et je n'arrive pas à obtenir le slug de la catégorie parent.
Je sais que je manque probablement une étape simple quelque part, mais tout aperçu serait grandement apprécié.
la source
J'aime la réponse précédente de @s_ha_dum, mais pour obtenir la catégorie de haut niveau quelle que soit la profondeur, j'ai utilisé ce que je considère comme une solution plus simple:
la source
Si cela peut aider quelqu'un ... à avoir un enfant chat ou parent, selon le
0
ou1
vous mettez le$category
la source
Vous pouvez le simplifier comme ceci:
la source
La fonction suivante est adaptée pour renvoyer la catégorie racine :
Usage:
get_root_category()->slug
la source