【参考にしたサイト】
http://kotori-blog.com/wordpress/refinement_search/
【カスタム投稿名】
exchange
Custom Post Type UIのプラグインを使用
【タクソノミー名】
coin_tag
【問題になっている点】
php
1#searchform.php 2 3<form method="get" id="searchform" action="<?php bloginfo('url'); ?>"> 4 <label for="s" class="assistive-text">検索</label> 5 <input type="text" name="s" id="s" placeholder="検索" /> 6 7 <div>タグまたはカスタムタクソノミー</div> 8<?php 9$taxonomy_name = 'coin_tag'; 10$taxonomys = get_terms($taxonomy_name); 11if(!is_wp_error($taxonomys) && count($taxonomys)): 12 foreach($taxonomys as $taxonomy): 13 $tax_posts = get_posts(array('post_type' => get_post_type('exchange'),'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); 14 if($tax_posts): 15?> 16<label><input type="checkbox" name="coin_tag[]" value="<?php echo $taxonomy->slug; ?>"><?php echo $taxonomy->name; ?></label><br> 17<?php 18 endif; 19 endforeach; 20endif; 21?> 22 <input type="submit" value="検索" /> 23</form> 24
php
1#search.php 2 3 4<?php 5$s = $_GET['s']; 6$coin_tag = $_GET['coin_tag']; 7//tax_query用 8if($coin_tag){ 9 $taxquerysp[] = array( 10 'taxonomy'=>'exchange', 11 'terms'=> $coin_tag, 12 'include_children'=>false, 13 'field'=>'slug', 14 'operator'=>'AND' 15 ); 16} 17?> 18 19<div>検索条件</div> 20<?php if($s){ ?>検索キーワード:<?php echo $s; ?><br><?php } ?> 21<?php 22if (is_array($coin_tag)) { ?>タグ(カスタムタクソノミー):<?php 23foreach($coin_tag as $val){ 24if ($val === end($coin_tag)) { 25echo get_term_by('slug',$val,"coin_tag")->slug; 26 }else{ 27echo get_term_by('slug',$val,"coin_tag")->slug.", "; 28} 29} 30} 31 ?> 32 33<div>検索結果</div> 34 35<?php 36query_posts( array( 37 'tax_query' => $taxquerysp, 38 's' => $s, 39 ) 40); 41?> 42<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> 43 44<div><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div> 45<div><?php the_content(); ?></div> 46 47<?php endwhile; else : ?> 48 49<div>該当なし</div> 50 51<?php endif; 52wp_reset_query(); ?> 53 </div> 54 </div> 55 56<?php get_sidebar(); ?> 57 58 </div> 59</div> 60<?php get_footer(); ?>
Search Everythingというプラグインでexchangeのカスタム投稿も検索対象にするようにしております。
検索窓でキーワードを入れて検索すると問題なく表示されます。
しかしカスタム投稿のタグをチェックボックスで選択すると検索結果に表示されません。
問題はどこにございますでしょうか?
お詳しい方ご教授お願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。