確かにそれは非常に単純ですが、私はこれを行う方法を把握することはできません。
特定の分類法が設定されているすべての投稿をクエリする必要があります。このような:
$query03 = array(
'numberposts' => 5,
'post_type' => array(
'video'
),
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'slug',
'terms' => **all_the_terms_in_taxonomy**
)
)
);
terms
フィールドをワイルドカードに設定したいです。私はterms
fildに配列を入れることができることを知っていますが、リストは非常に長く、問い合わせの重みについて心配しています。
'terms'
配列から'tax_query'
キーを単純に省略してみましたか?
$query03 = array(
'numberposts' => 5,
'post_type' => array(
'video'
),
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'slug'
)
)
);
あるいは、クエリの重要性についてはあまり心配しないでください。結果として得られるクエリは、クエリ引数の複雑さや、クエリ引数配列の大きさに関係なく、実際のものになります。ですから、 get_terms
を使って、すべての用語を取り込むことをお勧めします。
<?php get_terms( $taxonomy, $args ); ?>
'fields'
を'ids'
に設定すると、クエリ引数配列で直接使用できます。これにより、用語オブジェクトの配列ではなく、用語IDの配列が返されます。
$query03 = array(
'numberposts' => 5,
'post_type' => array(
'video'
),
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'id',
'terms' => get_terms( 'product', array( 'fields' => 'ids' ) )
)
)
);
IDの代わりにスラッグという用語を使用して、代わりの 'tax_query
'を使用します。
'tax_query' => array(
array(
'taxonomy' => 'product',
'field' => 'slug',
'terms' => get_terms( 'product', array( 'fields' => 'names' ) )
)
)