Si vous avez des taxonomies en cascade (parent, enfant de niveau 1, enfant de niveau 2, etc.), vous pouvez avoir besoin d’afficher le nom de la taxonomie parent dans une page archive, dans une page de contenu, ou pour toute autre occasion.

Un exemple très simple consisterait à afficher une image représentant la catégorie principale dans laquelle se trouve un post.

La fonction suivante permet donc de remonter les infos de la taxonomie de premier niveau, autrement dit les infos de la taxonomie du plus haut parent.

Il vous suffit de coller cette fonction dans votre fichier functions.php, puis pour l’utiliser, de renseigner l’ID de la taxonomie dont vous voulez connaitre le parent le plus haut, ainsi que le slug de la taxonomie (optionnel). Par défaut, il s’agit de la taxo category.

function bweb_get_term_parent($term_id, $taxonomy = 'category'){
     
     // Récupère le term courant
     $parent = get_term_by( 'id', $term_id, $taxonomy);
     
     // Remonte dans la hiérarchie du term
     while ($parent->parent != '0'){
          $term_id = $parent->parent;
          $parent = get_term_by( 'id', $term_id, $taxonomy);
     }
     
     return $parent;
}

Vous obtenez ainsi toutes les datas de la taxonomie parente. Ces informations sont générées grâce à la fonction get_term de WordPress.

 

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

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

Afficher le commentaire

1 commentaire

  1. J’ai repris votre exemple pour trouver la page ou article de plus niveau lorsque ces dernièr(e)s sont imbriquée.

    $id_page_courante = $post->ID;

    while (wp_get_post_parent_id($id_page_courante) != ‘0’){
    $id_page_courante = wp_get_post_parent_id($id_page_courante);
    }

    echo $id_page_courante;//$id_page_courante est la page de plus haut niveau