概要説明
キーワード、カテゴリー選択で条件指定が行える絞り込み検索フォームを実装するカスタマイズ。ショートコードにてトップページ、サイドエリアなど自由に配置できます。
~ 目次 ~
絞り込み検索フォーム用の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が検索結果のページになります