wordpressで下記のようなページごとにどんどん絞りこんでいく機能を実装しようと思っています。
1ぺージ目 2ページ目 3ページ目
東京(5件) → 板橋(2件)、練馬(3件) → 板橋1丁目(1)、板橋2丁目(1)※板橋を選択した場合
上記を親カテゴリー、子カテゴリー、孫カテゴリーを使用して実装をしていこうと考えておりますが、
下記の2点がわからない状態です。
1、2ページ目、3ページ目に行った際、子カテゴリー名、孫カテゴリー名の一覧と登録件数を出す方法
2、1ページの検索結果数がどこに入り、その結果数を使い、再度絞り込み検索をする方法
(どんな仕組みになっているか、ご教授を頂けるとありがたいです。)
→こちらは、WP_Queryなどで行うのでしょうか。
尚、2ページ以降の子カテゴリーはチェックボックス(AND式)に使用と思っており、下記のサイトを参考にして作成をしております。
https://tool.potalstyle.net/387.html
固定ページ
<form method="get" action="<?php bloginfo('url'); ?>"> <p>キーワード</p> <label>検索</label> <input type="text" name="s" id="s" placeholder="検索" /> <p>カテゴリー一覧</p> <?php $categories = get_categories(); foreach($categories as $category) : ?> <label> <input type="checkbox" name="catnum[]" value="<?php echo $category->term_id; ?>"><?php echo $category->name; ?> </label> <?php endforeach; ?> <p>タグの一覧</p><label><input type="radio" name="radio" value="AND" />AND</label>
<label><input type="radio" name="radio" value="IN" />OR</label>
search.php
<?php //get値の受け取り $s = $_GET['s']; $post_tag = $_GET['post_tag']; $radio = $_GET['radio']; $catnum = $_GET['catnum']; //検索条件の設定1 $arg = array ( 'tax_query' => array( 'relation' => 'OR', //以下検索配列の結合の仕方 ANDかOR検索 array( 'taxonomy'=>'category', //カテゴリを指定 'terms'=> $catnum, //カテゴリーのidを指定 'include_children'=>false, //子カテゴリーを含めない 'field'=>'term_id', //対象とするフィールをterm_idに指定 'operator'=>'IN' //いずれかに一致させる(IN)または全てに合致(AND),いずれにも一致しない(NOT IN) ), array( 'taxonomy'=>'post_tag', //タグを指定。こちらはタグで検索している 'terms'=> $post_tag, 'include_children'=>false, 'field'=>'slug', 'operator'=>$radio ) ) ); //検索結果の設定2 query_posts( array( 'tax_query' => $arg, 's' => $s, ) ); ?> <p>検索結果</p> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <!-- 検索結果が表示される部分 --><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php endwhile; else : ?> <p>該当なし</p> <?php endif; wp_reset_query(); ?>あなたの回答
tips
プレビュー