web-dev-qa-db-fra.com

get_term_children ne retourne pas un tableau de termes enfants

J'essaie d'obtenir le terme enfants et ensuite vérifier s'ils existent pour les afficher. Mais je n’obtiens pas d’ID en retour de la commande get_term_children. C'est le code:

  $children = get_term_children($term->term_id, locations);
  echo $children;

Le terme $ est déjà défini et donne de bons résultats, une taxonomie "lieux" existe. Le code me renvoie juste un mot "Array", aucune liste de termes enfants ne s'affiche.

J'ai un code similaire dans mes pages d'archives postales et cela fonctionne bien en me renvoyant des catégories enfants au format n/n/n/n/n:

  $children = get_category_children($this_category->cat_ID);
  echo $children;

Quel est le problème avec le premier code? Cela devrait fonctionner aussi bien que le second.

1
Jerry

Au début, essayez de passer la taxonomie sous forme de chaîne:

$children = get_term_children($term->term_id, 'locations');

La fonction get_category_children produit une chaîne en tant que valeur de retour, vous pouvez donc simplement y faire écho. la fonction get_term_children, cependant, retourne un tableau. Pour voir le contenu du tableau, essayez

print_r( $children );

au lieu de l'écho.

La dernière chose à garder à l'esprit est qu'une taxonomie n'a pas besoin d'être hiérarchique - par exemple, les balises intégrées. Assurez-vous que vos "emplacements" sont organisés de manière hiérarchique, sinon get_term_children ne fonctionnera pas pour vous dans ce cas.

2
fischi