web-dev-qa-db-fra.com

Liste des termes dans la catégorie

Je veux énumérer tous les termes d'une taxonomie spécifique utilisée dans une catégorie.

Comme si j'avais une taxonomie appelée "Fabricant" et une catégorie "Chaussures". Chaque article de cette catégorie comporte des termes tels que "Nike", "Adidas" ou "Reebok" et, bien sûr, certains articles ont le même terme.

Et sur la page des archives, je veux énumérer tous les termes utilisés dans cette catégorie et non des termes tels que "American Apparel", utilisé dans la catégorie "Chemises".

J'espère que vous comprenez mon problème et avez une bonne idée pour le résoudre.

Merci d'avance, Timo

1
user3923

Puisque vous êtes dans une catégorie, votre requête obtiendra les publications de cette catégorie, il vous suffit d’ajouter 'posts_per_page' => -1 à cette requête pour obtenir toutes les publications de cette catégorie et non la valeur par défaut "au plus " nombre.

donc quelque chose comme:

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

cela vous donnera tous les posts de cette catégorie, comme nous l'avons dit précédemment, ensuite vous parcourez les posts et collectez les termes dans un tableau

$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