it-swarm.com.de

Begriffe in Kategorie auflisten

Ich möchte alle Begriffe einer bestimmten Taxonomie auflisten, die in einer Kategorie verwendet werden.

Als ob ich eine Taxonomie namens 'Hersteller' und eine Kategorie 'Schuhe' hätte. Jeder Beitrag in dieser Kategorie hat einen Begriff wie "Nike", "Adidas" oder "Reebok", und natürlich gibt es einige Beiträge mit demselben Begriff.

Und auf der Archivseite möchte ich alle Begriffe auflisten, die in dieser Kategorie verwendet werden, und nicht Begriffe wie "American Apparel", die in der Kategorie "Shirts" verwendet werden.

Ich hoffe, Sie verstehen mein Problem und haben eine gute Idee zur Lösung dieses Problems.

Vielen Dank im Voraus, Timo

1
user3923

Da Sie sich in einer Kategorie befinden, erhält Ihre Abfrage nur die Posts dieser Kategorie. Sie müssen nur 'posts_per_page' => -1 zu dieser Abfrage hinzufügen, damit Sie alle Posts in dieser Kategorie erhalten und nicht die Standard-Posts " Nummer.

so etwas wie:

 query_posts( $query_string . '&posts_per_page=-1' );

auf diese Weise erhalten Sie alle Beiträge dieser Kategorie, wie bereits erwähnt. Anschließend durchlaufen Sie die Beiträge und sammeln die Begriffe in einem Array

$Manufacturer = array();
while (have_posts()){
    // loop over the posts and collect thier term ID's into $Manufacturer array
    the_posts();
    $terms =wp_get_object_terms($post->ID,'Manufacturer');
    if (count($terms)) {
        foreach ($terms as $term){
            if (!in_array($term->term_id,$Manufacturer)){
                $Manufacturer[] = $term->term_id;
            }
        }
    }
}
//here you have an array $Manufacturer with the id's of only terms with posts in the current category
//so you can do what ever you want with them.
//rewind the posts so you could display them normally without creating a new WP_query object
rewind_posts();
2
Bainternet
1
J. Taylor