it-swarm.com.de

Holen Sie sich alle Taxonomien für alle Beitragstypen

Ich möchte alle verfügbaren Taxonomien für jeden (benutzerdefinierten) Beitragstyp erhalten. Mein Ziel ist es, für jeden Beitragstyp, jede Taxonomie wie Kategorie, Tag und für jede dieser Taxonomien alle Registerbegriffe (und IDs) mit der Anzahl der Elemente für jeden Begriff aufzulisten, ...

Ich möchte so etwas ausgeben:

post
   Categories
      cat1 (2)
      cat2 (1)
   Tags
      Tag1 (5)
      Tag2 (3)
portfolio
   Attributes
      att1 (2)
      att2 (1)
      att3 (5)
      att4 (9)
   Categories
      cat1 (2)
      cat2 (4)
      cat2 (1)
   Tags
      Tag1 (5)
      Tag2 (3)
....

Ich weiß jetzt nicht, was der richtige und beste Weg ist, das zu tun. Es ist ein bisschen komplexer als erwartet und ich habe keine Lösung gefunden.

1
freaky

Ich würde vorschlagen, eine Liste aller Beitragstypen mit get_post_types abzufragen. Mit diesem Array können Sie foreach ausführen. Fragen Sie für jeden Beitragstyp alle Begriffe mit get_term ab. Es würde ungefähr so ​​aussehen, aber Sie sollten get_post_types Ihre bekannten Beitragstypen übergeben, da dies so wie es aussieht auch Dinge wie Anhänge und Navigationsmenüs anzeigt.

function agency_wp_test() {
    $post_types = get_post_types(); 

    foreach ( $post_types as $post_type ) {
        $taxonomy_names = get_object_taxonomies( $post_type );

        $terms = get_terms( $taxonomy_names, array( 'hide_empty' => false ));
         if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
             echo '<h5>'.$post_type.'</h5>';
             echo '<ul>';
             foreach ( $terms as $term ) {
               echo '<li>' . $term->name . '</li>';

            }
            echo '</ul>';
        }
    }
}
3
mrbobbybryant