WordPressの検索機能を簡単にカスタマイズする方法
WordPressの検索をサクッとカスタマイズする方法を紹介します。
カテゴリー別に検索させたい時のカスタマイズ方法です。
WordPressの検索フォームは基本的に、or検索です。and検索にする方法は別の機会に紹介します。
基本的な検索フォームの設置
使用しているテーマによっては、searchform.phpというテンプレートがあるので、それを呼び出すか、ウィジェット等で設定します。
任意の場所に検索フォームを設置したいような場合は、例として下記のようにタグを記述します。
通常の検索フォームの設置
ウォーターマーク(透かし文字)は自由に変更してください。
1 2 3 4 |
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/"> <input type="text" onfocus="if (this.value == 'キーワードから検索') this.value = '';" onblur="if (this.value == '') this.value = 'キーワードから検索';" value="キーワードから検索" name="s" id="s"> <input type="submit" id="searchsubmit" value="検索" /> </form> |
検索結果から指定したカテゴリーを除外する
検索結果から、表示させたくないカテゴリーを指定できます。
テーマ編集からsearch.php(検索結果)を開きます。
ループの開始の上の行に下記のように記述します。
除外したいカテゴリーは、マイナス+カテゴリーIDです(-15等)カンマで区切ることで複数指定できます。(-15,-233等)
1 2 |
<?php query_posts($query_string . '&cat=-除外したいカテゴリーID'); ?> //この行を追加する <?php if(have_posts()): while(have_posts()): the_post(); ?> //ループ開始タグ |
ラジオボタンからカテゴリーを指定して検索
カテゴリー単位で検索をさせたい時のラジオボタンで指定する方法です。
選択カテゴリーが少ない時等は見やすくていいかもしれません。
見た目はCSSで調整してください。
valueにはカテゴリーIDの数字(任意)、id=”catカテゴリーID”を for=”catカテゴリーID”をそれぞれ指定してください。
1 2 3 4 5 6 7 8 9 |
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/"> <div id="search"> <input type="radio" value="0" name="cat" id="cat0" checked/><label for="cat0">全てのカテゴリー</label> <input type="radio" value="7" name="cat" id="cat7" /><label for="cat7">カテゴリーID7</label> <input type="radio" value="5" name="cat" id="cat5" /><label for="cat5">カテゴリーID5</label> //ラジオボタンを増やす場合はこの行をコピーして下にペーストして増やす。 </div> <input type="text" onfocus="if (this.value == 'カテゴリーを選択して検索') this.value = '';" onblur="if (this.value == '') this.value = 'カテゴリーを選択して検索';" value="カテゴリーを選択して検索" name="s" id="s"><input type="submit" id="searchsubmit" value="検索" /> </div> </form> |