うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

wpの検索システムを使う

-2015年08月07日-
検索フォームを設置したい場所に下記を書き込むます。
<form method="get" action="<?php echo home_url('/'); ?>" class="search-form">
<input type="text" name="s" id="s" value="<?php the_search_query(); ?>" />
<input type="image" src="<?php echo get_template_directory_uri(); ?>/images/btn_serch.gif" alt="検索ボタン" />
</form>
search.phpを作ります(archive.phpを複製で大丈夫だと思います)
下記のタグをsearch.phpに書き込む
<?php the_search_query(); ?>の検索結果 : <?php echo $wp_query->found_posts; ?>件

つぎにセレクトでカテゴリー検索をします。
検索フォームを設置したい場所に下記を書き込むます。
<form action="<?php echo home_url(); ?>" method="get">
    <ul>
        <li> <?php wp_dropdown_categories(array(
            'show_option_all' => 'すべてのカテゴリー'	//投稿のすべてのカテゴリーを出します
        )); ?></li>
        <li> <select name="illustrator_cat">
            <option value="">イラストレーター_カテのすべてのターム</option>
            <?php
            $terms = get_terms('illustrator_cat');
            foreach ($terms as $term): ?>
                <option value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></option>
            <?php endforeach; ?>
        </select> </li>
       <li> キーワード:<input type="text" value="" name="s" /> </li>
   </ul>
   <input type="submit" value="この内容で検索!" />
</form> 
functions.phpに下記を書き込みます。
//検索フォームでカスタムタクソノミーを作成
function create_mypace_taxonomies() {
     register_taxonomy(
          'illustrator_cat', //作成するタクソノミーのスラッグ
          'illustrator', //どの投稿タイプに紐付けるか
          array(
               'hierarchical' => true, //ツリー型で管理
               'label' => 'イラストレーター_カテのすべてのターム'
          )
     );
}
add_action( 'init', 'create_mypace_taxonomies', 0 );
FindxFine Web Design Leaves 複数キーワードと複数カテゴリーで絞り込み 1 マイペースクリエイターの覚え書き WordPressの検索機能をもっと使いやすくする Web PXCEL KOTORI

2018年03月20日追記

<!--検索フォーム設置-->
<form method="get" action="<?php echo home_url('/'); ?>" class="search-form">
<input type="text" name="s" id="s" value="<?php the_search_query(); ?>" />
<input type="image" src="<?php echo get_template_directory_uri(); ?>/images/btn_serch.gif" alt="検索ボタン" />
</form>
//検索結果にカスタム投稿タイプの記事も含める方法 functions.php
function filter_search( $query ) {
if ( $query->is_search() && $query->is_main_query() && ! is_admin() ) {
$query->set( 'post_type', array( 'post', 'page', 'illustrator', 'photoshop' ) );
}
}
add_filter( 'pre_get_posts', 'filter_search' );
カスタム投稿にも適用させる場合はプラグイン「search everything」を使用する WordPressの検索結果にカスタム投稿タイプの記事も含める方法 初心者向け!WordPressで検索機能を自作してみよう!