ページテンプレートでカスタム分類法の$クエリを作成したので、特定の用語に投稿があるかどうかをどのように確認できますか?
$args = array(
'post_type' => 'exhibitions',
'tax_query' => array(
array(
'taxonomy' => 'exhibition',
'field' => 'slug'
),
)
);
$query = new WP_Query($args);
私が正しい軌道に乗っていると仮定すると、私が探している条件付きステートメントの種類の口頭での説明は以下のようになります。
$ query分類法の用語 'current'に投稿がある場合は、何かをします。
それ以外の場合、$ query分類法の用語「近日公開」に投稿がある場合は、別の操作を行います。
あなたが正確に何を必要としているのかよくわかりませんが、通常、デフォルトではget_terms
は実際に投稿が割り当てられている用語のみを返します。
$terms = get_terms( 'exhibition' );
var_dump( $terms );
これとは別に、私は本当にあなたが正確に必要なものを知りません
あなたが欲しいように聞こえます has_term()
。以下のようなものです。クエリに一連の用語を入力します。
$args = array(
'post_type' => 'exhibitions',
'tax_query' => array(
array(
'taxonomy' => 'exhibition',
'field' => 'slug',
'terms' => array(
'current',
'upcoming',
),
),
)
);
$query = new WP_Query($args);
それからそれを複数回繰り返します。
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
if (has_term('current','exhibition')) {
// stuff
}
}
}
$query->rewind_posts();
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
if (has_term('upcoming','exhibition')) {
// stuff
}
}
}
$query->rewind_posts();