web-dev-qa-db-ja.com

カテゴリ内の用語の一覧

カテゴリーで使用されている特定の分類法のすべての用語をリストしたい。

私は 'Manufacturer'という分類と 'Shoes'という分類があります。このカテゴリの各投稿には、 'Nike'、 'Adidas'、または 'Reebok'のような用語があり、もちろん同じ用語を持つ投稿がいくつかあります。

そしてアーカイブページには、 "American Apparel"のような "Shirts"のカテゴリーではなく、このカテゴリーで使われているすべての用語をリストしたい。

あなたが私の問題を理解し、この問題を解決するための良い考えを持っていることを願っています。

Timoさん、よろしくお願いします。

1
user3923

あなたはカテゴリに属しているので、あなたのクエリはそのカテゴリの投稿を取得するでしょう、あなたはそれがあなたにそのカテゴリのすべての投稿を取得し、デフォルトではなくなるようにそのクエリに 'posts_per_page' => -1を追加するだけです"番号です。

そう何かのように:

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

これにより、前述のとおり、そのカテゴリのすべての投稿が表示され、次に投稿をループして用語を配列にまとめます。

$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

この記事は役に立つかもしれません: http://www.leewillis.co.uk/wordpress-taxonomies-to-create-a-product-directory/

1
J. Taylor