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

wordpress.stackexchange https://wordpress.stackexchange.com/questions/12320

  •  16-10-2019
  •  | 
  •  

Question

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

Le problème est que les résultats sont classés par ordre alphabétique ou le nombre, ni qui se révèlent fiables. (J'utilise une taxonomie personnalisée pour « Location » - Ville, État, Pays - l'État apparaît parfois avant que la Ville)

Est-il possible que je peux commander le tableau résultant par la hiérarchie de taxonomie personnalisée?

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

Était-ce utile?

La solution

Juste une esquisse pour obtenir votre idée:

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

Et vous voulez à l'ordre:

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

Ai-je obtenir ce droit? Sinon, vous pouvez modifier ma réponse ou mettre à jour votre Q.

Autres conseils

Vous pouvez utiliser wp_list_categories pour trier la hiérarchie, il a commencé à soutenir taxonomies de 3,0.

Vous pouvez voir un exemple d'utiliser une taxonomie personnalisée avec wp_list_categories sur la page codex pour la fonction.

Vous avait juste besoin de passer le terme ids de votre appel wp_get_object_terms au wp_list_categories comprennent arg, par exemple.

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

Il doit ensuite énumérer les termes de votre taxonomie personnalisée dans un format hiérarchisé, mais il peut ne pas apparaître si votre thème est pas des éléments de la liste padding (alors assurez-vous d'appliquer le style approprié si les résultats ne sont pas affichés dans une forme hiérarchique).

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top