前提・実現したいこと
wordpressでカテゴリー選択プルダウンを複数設置し、AND検索で選択したカテゴリーに合致する記事を検索結果一覧に表示したく、いろんな情報を見て回ったのですが期待する挙動を実現できませんでした。
以下のコードで近しい挙動は実現できましたが、
wordpressで用意されている、get_search_form() が機能しなくなってしまいました。
複数カテゴリー検索 と 入力検索、
それぞれ独立して機能するようにするにはどのようにすればよいでしょうか?
検索フォーム表示箇所
<aside id="secondary" class="blog-sidebar" role="complementary"> <!-- 入力用検索 --> <?php get_search_form(); ?> <!-- カテゴリー検索 --> <form method="get" action="<?php bloginfo( 'url' ); ?>"> <p>都道府県</p> <?php wp_dropdown_categories('name=cat[]&show_option_none=都道府県&child_of=20'); ?> <p>季節</p> <?php wp_dropdown_categories('name=cat[]&show_option_none=季節&child_of=13'); ?> <input id="submit" type="submit" value="検索" /> </form> </aside>
functions.php
function my_pre_get_posts_search( $query ) { if ( !is_admin() && $query->is_main_query() ) { if ( $query->is_search ) { $cats = get_query_var('cat'); $cat_array = explode( ',', $cats ); $query->set( 'category__and', $cat_array ); } } } add_action( 'pre_get_posts','my_pre_get_posts_search' );
試したこと
functions.phpの記述を削除すると、get_search_form()は機能しますが、カテゴリー検索がOR検索になってしまいました。
phpに詳しい方、どうぞご教示お願いいたします。
![退会済みユーザー](https://ddjkaamml8q8x.cloudfront.net/profileImages/deletedUser/icnUserSample.jpeg)
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー