私はWP_Queryをユーザ入力に基づいた引数で実行するつもりです。ユーザーは複数のカテゴリ/用語を選択でき、クエリはANDブール値に基づいてフィルタリングします。何の結果は最初のクエリで返されていない場合Wordpressループ内の条件付きクエリ
// main arguments
$args = array(
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'industry',
'terms' => $user_input,
),
array(
'taxonomy' => 'format',
'terms' => $user_input2,
),
),
);
// less specific arguments
$lessargs = array(
'tax_query' => array(
array(
'taxonomy' => 'industry',
'terms' => $user_input,
),
),
);
、私はあまり特異性($ lessargs)と2番目のクエリを実行したいです。私はif/elseステートメントを使う必要があることを知っていますが、ループ内でこれを行う正しい方法がわかりません。例:
<?php $the_query = new WP_Query($args); ?>
<?php if ($the_query->have_posts()) : ?>
<?php while ($the_query->have_posts()) : the_post(); ?>
// Return Query Results
<?php endwhile; ?>
<?php else : ?>
<?php $the_second_query = new WP_Query($less_args); ?>
<?php while ($the_second_query->have_posts()) : the_post(); ?>
// Return Second Query Results
<?php endwhile; ?>
<?php endif; ?>
これは、以前のクエリが空の場合に条件付きでクエリを呼び出す適切な方法ですか?
それは機能するはずです。そうすれば、そうすれば、あなたが望むことをすることができます。それを行うには合理的な方法です。 –