it-swarm.com.de

wp_get_object_terms - Wie kann ich das resultierende Array nach Hierarchie ordnen?

Ich gebe eine benutzerdefinierte hierarchische Taxonomie über wp_get_object_terms zurück.

Das Problem ist, dass die Ergebnisse nach Namen oder Anzahl sortiert werden, wobei sich keine davon als zuverlässig erweist. (Ich verwende eine benutzerdefinierte Taxonomie für "Ort" - Stadt, Bundesland, Land - manchmal wird der Bundesland vor der Stadt angezeigt.)

Gibt es eine Möglichkeit, das resultierende Array anhand der benutzerdefinierten Taxonomiehierarchie zu ordnen?

Gibt es vielleicht eine andere Art, wie ich das betrachten sollte?

3
Jonathan Wold

Nur eine grobe Skizze, um Ihre Idee zu bekommen:

  • länder (hierarchische Taxonomie)
    • Frankreich (Land - Untertaxonomie)
      • Champagne (Bundesland - Untertaxonomie)
        • Le Mans (Stadt - Amtszeit)
        • Angers (Stadt - Amtszeit)
        • Nantes (Stadt - Amtszeit)

Und Sie möchten bestellen:

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

Habe ich das richtig verstanden? Wenn nicht, können Sie meine Antwort bearbeiten oder Ihr Q aktualisieren.

0
kaiser

Sie können wp_list_categories verwenden, um die Hierarchie zu sortieren. Ab 3.0 werden Taxonomien unterstützt.

Ein Beispiel für die Verwendung einer benutzerdefinierten Taxonomie mit wp_list_categories finden Sie auf der Seite Codex für die Funktion.

Sie müssen lediglich die Term-IDs von Ihrem wp_get_object_terms-Aufruf an das wp_list_categories-Include-Argument übergeben, z.

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

Es sollte dann die Begriffe Ihrer benutzerdefinierten Taxonomie in einem hierarchischen Format auflisten, obwohl dies möglicherweise nicht der Fall ist, wenn Ihr Design keine Fülllistenelemente enthält. Achten Sie daher darauf, dass Sie ein geeignetes Styling anwenden, wenn die Ergebnisse nicht in hierarchischer Form angezeigt werden ).

1
Mark Duncan