Catégories et sous-catégories WordPress

Publié par Jean-Michel le

Je fais quelques changements sur le thème de mon blog, et j’ai besoin de lister les sous-catégories lorsque l’utilisateur se trouve dans la catégorie parent, exemple :

  • catégorie principale — subcat1 — subcat2

J’ai donc besoin d’afficher les subcat1 et subcat2 uniquement lorsque l’utilisateur se trouve dans la catégorie principale. En ce moment, j’ai 2 divs, un pour les catégories principales (c’est ce que j’ai besoin que les utilisateurs voient sur toutes les pages) et un div ci-dessous le div de la catégorie principale pour afficher les sous-catégories.

Lire également:  Wordpress : Afficher uniquement les catégories cochées de la taxonomie personnalisée

Est-ce possible? Je suis désolé pour mon anglais, faites-moi savoir si c’est trop confus.

Merci pour votre temps. Salutations

Solution n°1 trouvée

essaie avec une fonction<?php echo list_categories(); ?>

$categories = get_categories($args);
$html       = '';
foreach($categories as $cat){
if($cat->category_parent == 0){
$html .= '';<--- your code
$childCategories = get_categories('child_of='.$cat->cat_ID.'');
if(!empty($childCategories)){
foreach($childCategories as $ccat){
$html .= '';<-- your code'

}}} $html .='';
return $html;}

pour obtenir plus d’enfants, ajoutez uniquement la nouvelle variable et obtenez les catégories de son enfant_de

Lire également:  Pourquoi le diaporama FlexySlider n'est pas chargé dans ce thème WordPress ?

Solution n°2 trouvée

Oui, c’est possible en utilisant get_the_category() et wp_list_categories() avec le child_ofparamètre. Utilisez quelque chose comme ce qui suit sur votre page de catégorie principale :

$category = get_the_category();
wp_list_categories('child_of=' . $category[0]->cat_ID);
Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *