カスタム投稿タイプの絞り込みについて
-
https://kotori-blog.com/wordpress/refinement_search/
こちらの記事の「カテゴリで絞り込むチェックボックス以外のパーツの検索結果ページでの記述」「タグまたはカスタムタクソノミーで絞り込むチェックボックスの検索結果ページでの記述」を参考にコードを書きました。
検索結果は固定ページのものしか表示されず、求めている結果が出ません。
「search.php」の最後に以下のコードを入れて、値を確認してみたのですが、<?php $post_tags = get_query_var( 'post_tag' ); var_dump( $post_tags ); ?>
結果は「string(0) “”」と中身は何も入っておりませんでした。
下に「searchform.php」と「search.php」のコードを記載させていただきます。
お力を貸してください。どうぞよろしくお願いいたします。searchform.php <form method="get" id="search-form" action="<?php bloginfo('url'); ?>"> <label for="s" class="assistive-text">検索</label> <input type="text" name="s" id="s" placeholder="検索" /> <div>ブランドから選ぶ</div> <?php $taxonomy_name = 'products_cat_brand'; $taxonomys = get_terms($taxonomy_name, array('hide_empty' => false)); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type('products'), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); ?> <label><input type="checkbox" name="post_tag[]" value="<?php echo $taxonomy->slug; ?>"><?php echo $taxonomy->name; ?></label><br> <?php endforeach; endif; ?> <input type="submit" value="検索" /> </form>
search.php <?php $s = $_GET['s']; $post_tag = $_GET['products_cat_brand']; //tax_query用 if($post_tag){ $taxquerysp[] = array( 'taxonomy'=>'post_tag', 'terms'=> $post_tag, 'include_children'=>false, 'field'=>'slug', 'operator'=>'AND' ); } ?> <div>検索条件</div> <?php if($s){ ?>検索キーワード:<?php echo $s; ?><br><?php } ?> <?php if (is_array($post_tag)) { ?>タグ(カスタムタクソノミー):<?php foreach($post_tag as $val){ if ($val === end($post_tag)) { echo get_term_by('slug',$val,"products_cat_brand")->name; }else{ echo get_term_by('slug',$val,"products_cat_brand")->name.", "; } } } ?> <div>検索結果</div> <?php query_posts( array( 'tax_query' => $taxquerysp, 's' => $s, ) ); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div><?php the_title(); ?></div> <div><?php the_content(); ?></div> <?php endwhile; else : ?> <div>該当なし</div> <?php endif; wp_reset_query(); ?>
- トピック「カスタム投稿タイプの絞り込みについて」には新たに返信することはできません。