Zeigen Sie die Anzahl der veröffentlichten Posts für jeden benutzerdefinierten Taxonomiebegriff an?

Ich habe eine benutzerdefinierte Taxonomie namens “Länder”. Wie bekomme ich jeden Begriff (Land) mit der Anzahl seiner veröffentlichten Beiträge in Klammern, wie folgt:

  • Uruguay (3)
  • Chile (5)
  • Thailand (2)
  • etc.

Mit folgendem Code wird die Anzahl aller Begriffe in der Taxonomie “Länder” angezeigt:

$countries_count = wp_count_terms( 'countries' ); echo $countries_count; 

Aber ich weiß nur, dass dies nur ein Ausgangspunkt für mein Problem ist. Irgendwelche Vorschläge?

Solutions Collecting From Web of "Zeigen Sie die Anzahl der veröffentlichten Posts für jeden benutzerdefinierten Taxonomiebegriff an?"

Sie können get_terms , um die Liste aller mit einer Taxonomie verknüpften Begriffe get_terms . Sobald Sie alle separaten Begriffe haben, können Sie $term->name , um den Namen des Begriffs anzuzeigen, und $term->count , um die Anzahl der Beiträge in diesem bestimmten Begriff abzurufen.

Hier ist eine leicht modifizierte Version des Codes im Codex gefunden. Sie können die Ausgabe weiter so anpassen, wie Sie benötigen

 < ?php $terms = get_terms('countries'); if ( !empty( $terms ) && !is_wp_error( $terms ) ){ echo '
    '; foreach ( $terms as $term ) { echo '
  • ' . $term->name . ' (' . $term->count . ')' . '
  • '; } echo ''; } ?>

BEARBEITEN

Dank @Traveler, hier ist eine andere Version meines Codes, wenn Sie die Links anklicken müssen.

 < ?php $terms = get_terms('countries'); if ( !empty( $terms ) && !is_wp_error( $terms ) ){ echo '

Sie können es mit WP Query versuchen. Ich habe es noch nicht getestet, also lass es mich wissen, wenn es funktioniert.

 $query = new WP_Query( array( 'taxonomy' => 'term', 'posts_per_page' => -1 ) ); $count = $query->post_count; 

Ich kann das jetzt nicht testen, aber versuche alle Begriffe für “Länder” zu bekommen und dann durch sie hindurchzugehen und die wp_count_terms für jeden von ihnen zu bekommen.

  $terms = get_terms("countries"); if ( !empty( $terms ) && !is_wp_error( $terms ) ){ echo "
    "; foreach ( $terms as $term ) { $args = array( 'slug' => $term->slug, ); echo "
  • " . $term->name . "(" . wp_count_terms('countries', $args) . ")
  • "; } echo "
"; }