web-dev-qa-db-fra.com

wp_get_object_terms - Comment puis-je classer le tableau résultant par hiérarchie?

Je retourne une taxonomie hiérarchique personnalisée via wp_get_object_terms.

Le problème est que les résultats sont ordonnés par nom ou par compte, et que ni l'un ni l'autre ne s'avère fiable. (J'utilise une taxonomie personnalisée pour "Lieu" - Ville, État, Pays - parfois l'État apparaît devant la ville)

Est-il possible de classer le tableau résultant en fonction de la hiérarchie de taxonomie personnalisée?

Y at-il, peut-être, une autre façon que je devrais regarder cela?

3
Jonathan Wold

Juste un croquis pour vous faire une idée:

  • pays (taxonomie hiérarchique)
    • France (pays - sous taxonomie)
      • Champagne (état - sous taxonomie secondaire)
        • Le Mans (ville - terme)
        • Angers (ville - terme)
        • Nantes (ville - terme)

Et vous voulez commander:

$query_results = query( 'country' => 'france', 'orderby' => 'state city', 'order' => 'ASC' );

Ai-je bien compris? Sinon, n'hésitez pas à modifier ma réponse ou à mettre à jour votre Q.

0
kaiser

Vous pouvez utiliser wp_list_categories pour trier la hiérarchie, il a commencé à supporter les taxonomies à partir de la version 3.0.

Vous pouvez voir un exemple d'utilisation d'une taxonomie personnalisée avec wp_list_categories dans la page codex/ de la fonction.

Il vous suffira de transmettre les identifiants de terme de votre appel wp_get_object_terms à wp_list_categories include arg, par exemple.

wp_list_categories( array( 'include' => $your_array_of_ids ) );

Il devrait ensuite répertorier les termes de votre taxonomie personnalisée dans un format hiérarchique, bien que cela puisse ne pas apparaître si votre thème n'est pas un élément de la liste de remplissage (veillez donc à appliquer le style approprié si les résultats ne s'affichent pas sous une forme hiérarchique ).

1
Mark Duncan