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>';
?>

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.

Laisser un commentaire