フォームのカスタムタクソノミーによる絞込み検索について
-
以下の内容で、検索フォームを作成しています。
・検索対象はカスタム投稿タイプ「shop」のみとする
・カスタムタクソノミー「shop_area」のタームが、セレクトボックスのvalueに等しいものだけを検索結果に表示させる●functions.php
add_action( 'pre_get_posts', 'my_pre_get_posts' ); function my_pre_get_posts( $query ) { $query->set( 'posts_per_page',12); $query->set('s', $_GET['s']); $query->set('post_type',array('shop')); if(isset($_GET['area'])) { $query->set( 'tax_query',array( array( 'taxonomy' => 'shop_area', 'terms' => array($_GET['area']), 'field' => 'slug', ) )); } }
●検索フォーム
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>"> <label for="s" class="assistive-text">検索</label> <input type="text" name="s" id="s" placeholder="検索" value="<?php echo esc_attr( get_search_query() ); ?>" /> <select name="area"> <option disabled selected>選択してください</option> <option value="osaka">大阪</option> <option value="kyoto">京都</option> ・ ・ ・ (以下略) </select> <input type="submit" value="検索" /> </form>
上記設定では、セレクトボックス未選択の状態だと、キーワードに対応する検索結果が表示されるのですが、
セレクトボックスで選択を行った状態だと、検索結果が0件になってしまいます。どのように修正すれば期待通りの動きとなるでしょうか。
どなたかアドバイスを頂けると幸いです。
よろしくお願いします。
1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
- トピック「フォームのカスタムタクソノミーによる絞込み検索について」には新たに返信することはできません。