今回はワードプレスのsearch.phpをカスタマイズしてみます。
カテゴリーとタグのみで検索できる仕組みを作ってみました。今回はテキスト文字検索はなしです。
カテゴリーとタグのみの検索でプルダウンメニューにしてあります。
テキストは空で渡すようにしてhiddenにしてあります。
本来ワードプレスの検索テキストフィールドは必須なのですが空で渡しております。
search.phpでも表示できるようにfunctions.phpにもちょこちょこ書き足します。
スポンサーリンク
search.phpもしくは他ページから
検索結果:found_posts; ?>件
search.phpは上記みたいな感じにしてfunctions.phpに条件を書き足します。
functions.php
//投稿記事のみを検索対象
function SearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
// ページを含める場合
//$query->set('post_type', array('post', 'page'));
// 特定カテゴリーを除外
//$query->set('post_type', 'post');
//$query->set('category__not_in', array(1,2));
}
return $query;
}
add_filter('pre_get_posts','SearchFilter');
// 検索フォームがなくてもseach.phpへ表示
function custom_search($search, $wp_query ) {
//query['s']があったら検索ページ表示
if (isset($wp_query->query['s'])) {
$wp_query->is_search = true;
}
return $search;
}
add_filter('posts_search','custom_search', 10, 2);
以上で完了!!こんな感じでプルダウンだけの検索が実装完了です!!