前提・実現したいこと
serchform.phpからカスタムフィールドに当たる「nenrei」と「job」を受け取ってseach.phpでOR条件で下書き記事の検索結果を出そうと思っています。
発生している問題・エラーメッセージ
nenreiだけであれば、正常に抽出されますが、$argsの二つ目の配列(job)を追加すると公開済みの記事が全て表示されてしまいます。
該当のソースコード
以下search.phpです。
search.php
1<?php 2$s = $_GET['s']; 3$age = $_GET['age_id']; 4$job = $_GET['job_id']; 5//meta_query用 6 7$args = array( 8 array( 9 'key' => 'nenrei', 10 'value' => $age, 11 'compare' => 'LIKE', 12 'post_status' => 'draft', 13 ), 14 array( 15 'key' => 'job', 16 'value' => $job, 17 'compare' => 'LIKE', 18 'post_status' => 'draft', 19 ) 20 ); 21 22 23 print_r($args); 24 25?> 26 27<div>検索条件</div> 28<!-- <?php if($s){ ?>検索キーワード:<?php echo $s; ?><br><?php } ?> --> 29<?php if($age){ ?>カスタムフィールド:<?php echo $age; } ?> 30 31 32<div>検索結果</div> 33<?php 34$the_query = new WP_Query( $args ); 35if ( $the_query->have_posts() ) : 36 while ( $the_query->have_posts() ) : $the_query->the_post(); 37 //ここにループするテンプレート 38/* the_title(); 39 the_content(); */ 40 get_template_part( 'content', get_post_format() ); 41 endwhile; 42 echo '該当なし'; 43 endif; 44wp_reset_postdata(); 45?> 46
試したこと
$argsの配列を以下にするとnenreiだけの抽出条件は正常に機能します。
$args = array(
'key' => 'nenrei',
'value' => $age,
'compare' => 'LIKE',
'post_status' => 'draft',
);
初歩的な質問で大変恐縮ですが、正しい条件で抽出されるようにアドバイスをお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/31 17:29