概要説明
キーワード、カテゴリー選択で条件指定が行える絞り込み検索フォームを実装するカスタマイズ。ショートコードにてトップページ、サイドエリアなど自由に配置できます。
~ 目次 ~
絞り込み検索フォーム用のhtml定義ファイルを作成 ( searchform.php )
searchform.php
<?php
/*----------------------------------------------------
絞り込み検索フォーム ( searchform.php )
----------------------------------------------------*/
?>
<form method="get" id="searchform" action="<?php echo home_url('/'); ?>">
<input type="text" name="s" id="s" value="<?php the_search_query(); ?>" />
<?php
if(isset($_GET['cat']) ) {
$selected = $_GET['cat'];
} else {
$selected = 0;
}
wp_dropdown_categories('orderby=id&hide_empty=-&show_option_all=カテゴリー選択&selected='.$selected);
?>
<input type="submit" class="srcbtn" value=" 検 索 ">
</form>
searchform.php アップロード
テーマディレクトリの中に searchform.php をアップロードします
functions.phpと同じディテクトリにアップロードしてください
検索フォームの呼び出し – PHP ( テンプレート )
get_template_part('searchform');
ショートコードで呼び出せるようにする
functions.php
/*----------------------------------------------------
絞り込み検索フォームを表示させるショートコード
----------------------------------------------------*/
if ( !function_exists( 'shortcode_searchform' ) ){
function shortcode_searchform () {
ob_start();
get_template_part('searchform');
return ob_get_clean();
}
add_shortcode('search', 'shortcode_searchform');
}
動作確認
当サイトのトップページ上部に設置している検索フォームがこちらの機能になります
除外したいカテゴリーを指定したい場合
// wp_dropdown_categories の条件指定に下記を追加 &exclude=カテゴリーID
複数指定する場合は,で区切る
検索結果ページの調整
actionでどこを指定するかにもよりますがサンプルコードの場合はindex.phpが検索結果のページになります



