wordpressでカテゴリーに「時給」という親カテゴリーがあるとして、その子カテゴリーとして以下のような大まかな時給の子カテゴリーを作りました。
・~800円
・800円以上
・1000円以上
・1500円以上
当方、カテゴリーから記事を絞り込む機能を実装しており、普通に子カテゴリーを作っただけでは、800円以上のカテゴリーで記事を絞り込んだ場合、1000円以上および1500円以上の記事も表示されてほしいのですが、どうすればよいのか解決策や妥協案すら思いつきません・・・
以下、絞り込みのフロント側のコードです
php
1<form method="get" action="<?php bloginfo( 'url' ); ?>"> 2 <input type="hidden" name="s" value=""> 3 <?php wp_dropdown_categories('name=cats[]&show_option_none=時給を選択してください&child_of=20'); ?> 4 <?php wp_dropdown_categories('name=cats[]&show_option_none=部署を選択してください&child_of=13'); ?> 5 <?php wp_dropdown_categories('name=cats[]&show_option_none=職種を選択してください&child_of=14'); ?> 6 <input id="submit" type="submit" value="検索" /> 7</form>
以下複数カテゴリーの絞り込みのコード
functions.php
1function customize_main_query($query) { 2 if ( is_admin() || ! $query->is_main_query() ) 3 return; 4 5 //検索クエリのカスタマイズ 6 if ( $query->is_search()){ 7 if(isset( $_GET['cats'])){$cat = $_GET['cats'];}else{$cat = "";} 8 9 if($cat){ 10 $cat = array_diff($cat, array("-1")); 11 $taxquerysp[] = array( 12 'taxonomy'=>'category', 13 'terms'=> $cat, 14 'include_children'=>false, 15 'field'=>'term_id', 16 'operator'=>'AND' 17 ); 18 $query->set('tax_query' , $taxquerysp); 19 } 20 } 21} 22add_action( 'pre_get_posts', 'customize_main_query' );
難しい質問かもしれませんが、もしお詳しい方がいらっしゃいましたらどうぞご教示おねがいいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/23 23:37
2020/04/24 01:07
2020/04/24 03:17 編集
2020/04/24 03:28