web-dev-qa-db-fra.com

Déterminer la profondeur du terme

Je cherche à pouvoir trouver la profondeur d'un terme dans son arbre hiérarchique.

Produce
-- Vegetables
---- Carrot
---- Onion
---- Celery
-- Fruit
---- Apple
------ HoneyCrisp
----Orange

Le produit est au niveau 0 (ou 1), le fruit au niveau 1, Apple au 2, HoneyCrisp au 3, etc.

L’utilisation idéale est $depth = get_term_depth( $term_id );. Quelqu'un at-il une expérience avec cela?

Je veux essentiellement un rendu différent en fonction de la profondeur sur une page d'archive de terme.

3
Eric Holmes

Ne pas essayer de cogner mon représentant, mais j'ai trouvé ma propre réponse. get_ancestors vous permet d’obtenir la hiérarchie de n’importe quel élément. Comme les termes ne peuvent avoir qu’un seul parent, c’est tout ce dont nous avons besoin: le nombre d’éléments de cette liste équivaut au niveau de profondeur du terme et fournit même des identifiants de terme.

Usage:

$ancestors = get_ancestors( $term_id, 'custom-taxonomy-slug' );
print_r( $ancestors ) ; // array( 0 => 15, 1 => 45 ) - 3rd level term
5
Eric Holmes