Source : https://wpchannel.com/wordpress/tutoriels-wordpress/afficher-categories-termes-dune-taxonomie-menu-personnalise
La fonction get_term_children
de WordPress nous permet de crĂ©er une liste de termes enfants en se basant sur l’Ă©lĂ©ment parent en cours de visite. C’est une mĂ©thode efficace pour crĂ©er un menu de navigation interne Ă vos diffĂ©rents pages d’archives de termes (catĂ©gories, Ă©tiquettes ou taxonomie personnalisĂ©e).Vous recherchez un dĂ©veloppeur WordPress capable de vous crĂ©er un thĂšme sur-mesure ? C’est mon mĂ©tier depuis plus de 8 ans, prenez contact et discutons de votre projet.
Rappelons tout dâabord quelques bases dâarchitecture sous WordPress.
Nous avons des types de contenus que sont les articles, les pages ou encore ceux que vous créez qui peuvent disposer de taxonomies comme les catégories et les étiquettes pour les articles ou encore une fois celles que vous générez.
Les termes peuplent les taxonomies bien que lâon emploie couramment le mot catĂ©gorie par abus de langage. De mĂȘme, un sous terme ou une sous catĂ©gorie est un Ă©lĂ©ment enfant dans une taxonomie hiĂ©rarchique.
Ă titre dâexemple, jâutilise cette fonction PHP dans les catĂ©gories WordPress et WooCommerce de ce site afin de lister les sous catĂ©gories rattachĂ©es aux catĂ©gories en question. Cela permet une approche en silo qui est favorable Ă un bon rĂ©fĂ©rencement.
Vous pouvez donc modifier votre thÚme et principalement le fichier archive.php ou équivalent dans la hiérarchie des modÚles.
<?php
$queried_object = get_queried_object();
$taxonomy = $queried_object->taxonomy;
$term_id = $queried_object->term_id;
$taxonomy_name = 'category';
$term_children = get_term_children($term_id, $taxonomy_name);
echo '<ul class="nav nav-pills">';
foreach ($term_children as $child) {
$term = get_term_by('id', $child, $taxonomy_name);
echo '<li><a class="btn btn-default" href="' . get_term_link($child, $taxonomy_name) . '">' . $term->name . '</a></li>';
}
echo '</ul>';
?>
wp_list_children_terms.phpaffichage brut
Vous remarquez au passage lâajout de quelques classes CSS issues de Bootstrap que vous pouvez supprimer ou modifier selon vos besoins.
Le code de WordPress regorge de fonctions PHP souvent méconnues et pourtant trÚs utiles.