複数のカスタムタクソノミーで条件検索したい
-
いつもお世話になっております。
ふたつのカスタムタクソノミーがあり、それぞれをチェックボックスにして
複数条件で検索結果を出力したいと思っています。
タクソノミーはfunctions.phpに記述して作成いたしました。
WPのバージョンは4.9.5です。「絞り込み検索をプラグインを使わずに実装」の、「9.タグまたはカスタムタクソノミーで絞り込むチェックボックス」を参考にさせていただきました。
タクソノミー1種のときは問題なくできるのですが、ふたつとなるとよくわからなくなってしまいまして。。簡単ではございますが、formは以下のように記述しております。
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>"> <input type="hidden" name="s" id="s" placeholder="検索" /> <?php $taxonomy_name = 'taxonomy1'; $taxonomys = get_terms($taxonomy_name); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); if($tax_posts): ?> <label><input type="checkbox" name="post_tag[]" value="<?php echo $taxonomy->slug; ?>"><?php echo $taxonomy->name; ?></label> <?php endif; endforeach; endif; ?> <?php $taxonomy_name = 'taxonomy2'; $taxonomys = get_terms($taxonomy_name); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); if($tax_posts): ?> <label><input type="checkbox" name="post_tag2[]" value="<?php echo $taxonomy->slug; ?>"><?php echo $taxonomy->name; ?></label> <?php endif; endforeach; endif; ?> <input type="submit" name="" value="この条件で検索"> </form>
最終的に実現したいことは以下の通りです。
・アーカイブページにチェックボックスで複数条件(タクソノミー2種)を指定できるフォームを設置したい。
→formのコードが合っているかわかりませんが、チェックボックスは問題なく表示できております。
・検索結果ページで、条件に指定したチェックボックスに、チェックをつけた状態でフォームを表示したい。
→再検索ができる
・検索結果ページでもアーカイブページ同様にページングしたい。(wp pagenavi使用)search.phpにどのように記述すれば理想通りに動きますでしょうか?
また、参照元のコードがquery_postsを使用されているので、WP_Queryを使用したいです。
WPに関しては基礎知識しかなく、大変恐れ入りますが、初心者向けにご教示くださいますと幸いです。※プラグインもあるようですが、デザインの柔軟性を考えて、使用を控えております。
恐れ入りますが、どうぞよろしくお願いいたします。
1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
- トピック「複数のカスタムタクソノミーで条件検索したい」には新たに返信することはできません。