Comment afficher la taxonomie des enfants sur la page d'archive de la taxonomie des parents
Dans le passé, nous vous avons montré comment afficher des sous-catégories sur des pages de catégorie dans WordPress. Récemment, alors que nous travaillions avec des taxonomies personnalisées, nous avons constaté la nécessité d'afficher les taxonomies d'enfants sur la page d'archive de taxonomies parent. Après quelques recherches, nous n’avons trouvé aucun tutoriel traitant de ce problème. Dans cet article, nous allons vous montrer comment afficher une liste de taxonomies d'enfants sur des pages de taxonomies..
Ouvrez votre fichier de modèle de taxonomie personnalisé qui peut ressembler à: taxonomie- taxonomyname .php et collez le code suivant à l'endroit où vous souhaitez afficher la liste:
parent == 0) wp_list_categories ('taxonomy = YOUR-TAXONOMY-NAME & profondeur = 1 & show_count = 0 & title_li = & child_of ='. $ term-> term_id); else wp_list_categories ('taxonomy = YOUR-TAXONOMY-NAME & show_count = 0 & title_li = & child_of ='. $ term-> parent); ?>
N'oubliez pas de remplacer YOUR-TAXONOMY-NAME par le nom de votre taxonomie.
Résultat final:
Explication:
Nous utilisons get_term_by interroger les informations de la taxonomie actuelle par slug. Par exemple, si votre taxonomie s'appelle sujets et que vous êtes sur une variable page / topics / nutrition / alors $ term va extraire toutes les données relatives à la page de terme spécifique sur laquelle vous vous trouvez..
Dans le projet sur lequel nous travaillions, la taxonomie des sujets était hiérarchique, tout comme les catégories. Nous avons donc décidé d’exécuter une condition conditionnelle en utilisant la variable $ term-> parent. Cette variable renvoie l'ID de la taxonomie parent. Donc si vous êtes sur la nutrition taxonomique qui est la taxonomie parent, alors $ term-> parent échoera 0. C’est pourquoi nous avons dit que si $ term-> parent == 0 alors utilisez la fonction wp_list_categories () pour afficher les termes de notre coutume taxonomie qui sont enfant du terme de la page sur laquelle vous vous trouvez. Nous avons accompli cela en utilisant $ term-> term_id en tant que variable child_of.
Maintenant, si vous allez à la page de taxonomie des enfants, elle aurait été vide car le $ term-> parent ne serait plus égal à 0. Sur une page de taxonomie des enfants, $ term-> parent renvoie l'ID de la catégorie parent. Nous avons donc exécuté une instruction else en utilisant la même fonction wp_list_categories (), sauf que nous avons changé $ term-> term_id en $ term-> parent.
Voilà. Nous espérons que cela aidera tous ceux qui cherchaient une solution.