wordpressの固定ページにカスタムフィールドのチェックボックスで項目を複数選択できるようにし、検索フォームからもチェックを付けた項目で絞り込み検索したいと思っていますが、項目にチェックして検索しても該当の固定ページが検索結果に表示されません。
検索フォームを以下のようにして、
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>"> <label for="s" class="assistive-text">検索</label> <input type="hidden" name="s" id="s" placeholder="検索" /> <div>カテゴリ</div> <label><input type="checkbox" name="content_category[]" value="項目A">項目A</label> <label><input type="checkbox" name="content_category[]" value="項目B">項目B</label> <label><input type="checkbox" name="content_category[]" value="項目C">項目C</label> <input type="submit" value="上記の条件で検索" /> </form>
検索結果ページを以下のようにしています。
<?php $s = $_GET['s']; $content_category = $_GET['content_category']; //meta_query用 if($content_category){ foreach($content_category as $val){ $metaquerysp[] = array( 'key'=>'content_category', 'value'=> $val, ); } } $metaquerysp['relation'] = 'AND'; ?> <div>検索条件</div> <?php if($s){ ?>検索キーワード:<?php echo $s; ?><br><?php } ?> <?php if (is_array($content_category)) { ?>カスタムフィールド:<?php if (is_array($content_category)) { foreach($content_category as $val){ if ($val === end($content_category)) { echo $val; }else{ echo $val.", "; } } } } ?> <div>検索結果</div> <?php query_posts( array( 'meta_query' => $metaquerysp, 's' => $s, ) ); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div><?php the_title(); ?></div> <div><?php the_content(); ?></div> <?php endwhile; else : ?> <div>該当なし</div> <?php endif; wp_reset_query(); ?>
検索結果は、例えば「項目A」にチェックを入れて検索しても以下のように表示されてしまいます。
※wordpress側の固定ページでは「項目A」にチェックは付いています。
検索条件 カスタムフィールド:項目A 検索結果 該当なし
http://kotori-blog.com/wordpress/refinement_search/
こちらのサイトを参考にしており、サンプルサイトである下記のようにしたいと思っています。
http://kotori-blog.com/test/
ユーザー名 admin
パスワード kotori
※こだわり(カスタムフィールドのチェックボックス)駐車場あり, バス・トイレ別, 2階以上住戸 の箇所
●その他参考サイト
http://turezurenaru.blog.jp/archives/31060521.html
https://hirashimatakumi.com/blog/3109.html
https://wiredpunch.com/wordpress%E3%81%A7%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%9E%8B%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92or%E6%A4%9C/
https://teratail.com/questions/68544
こちらのページでも同じようなことを解決された方がいらっしゃいますが、具体的な解決方法がわからず困っております。
どなたかご教授いただければ幸いです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー