WordPressでブログを運営している人なら、きっと自分のブログに検索機能をつけている人は多いでしょう。
その検索窓からキーワードで検索すると、そのキーワードにマッチした記事が検索結果として出てきますよね。
しかし、「書いたはずの記事が出てこない・・」といったことはありませんか?
「サイト内検索でヒットしない」という経験は、誰もが一度はあるかもしれませんね。私も昔はよくありました。
その原因は、とっても簡単なことでした。
それは、「カタカナ」や「ひらがな」が区別されていたり、「半角数字」と「全角数字」が区別されていたり、「半角カナ」と「全角カナ」が区別されており、検索結果がヒットしない。といった場合があるからです。
そこで今回は、WordPressのサイト内検索のカスタマイズについてプラグインなしの方法をご紹介します。
みっぴー(@bennriya_mi)です~。
アイキャッチを変えただけで、広告表示回数が5倍になりました。(こっそり独り言)
今回、そのアイキャッチを誰でも使えるようにテンプレにしました。
詳しくは、下記にて
今回のサイト内検索機能のカスタマイズ内容
みっぴー
今回のサイト内検索機能のカスタマイズ内容をまとめると下記の通りです。
- 「ひらがな」と「カタカナ」の区別なし
- 「半角数字」と「全角数字」の区別なし
- 「半角カナ」と「全角カナ」の区別なし
- 検索結果に固定ページを除外
修正するファイル
今回のカスタマイズで編集するファイルは下記の通りです。
- functions.php
functions.php
のファイルを編集する場合は、必ずバックアップを取った上で編集してください。functions.php
の記入を誤るとブログの画面が真っ白になって管理画面にさえも入れなくなります。編集は慎重に行ってください。万が一、真っ白になった場合は「[WordPress]functions.phpを編集後に画面が真っ白になった時の対処法と注意点」を参考にしてください。
[WordPress]functions.phpを編集後に画面が真っ白になった時の対処法と注意点
検索のカスタマイズ
ブログ内で検索する時に、「ワードプレス」を「わーどぷれす」と『ひらがな』で入力してしまうと出てこない可能性があります。
みっぴー
ぱん猫
そうなると、検索してくれた方に、せっかくのあなたの記事を見つけてもらえないかもしれません。
また、検索結果に「固定ページ」が含まれてしまって、見てほしい記事が後ろのほうにいってしまうのも勿体ないですよね。
なので、「ひらがな」と「カタカナ」、「半角カナ」と「全角カナ」、「全角英数」と「半角英数」を区別しないで、検索結果を返すカスタマイズと、検索結果に固定ページを含めないカスタマイズを紹介します。
ひらがなやカタカナなどを区別しないカスタマイズ
方法は、簡単です。下記のコードをfunctions.php
に追加するだけです。
//検索結果のカスタマイズ(ひらがな、カタカナ区別なし)
function change_search_char($where, $obj) {
if ($obj->is_search) {
$where = str_replace(".post_title", ".post_title COLLATE utf8_unicode_ci", $where );
$where = str_replace(".post_content", ".post_content COLLATE utf8_unicode_ci", $where );
}
return $where;
}
add_filter( 'posts_where', 'change_search_char', 10, 2 );
検索結果から固定ページを除外するカスタマイズ
検索結果から固定ページを除外するには、下記のコードをfunctions.php
に追加してください。
//検索結果から固定ページ除外
function custom_search_result($query) {
if(!$query->is_admin && $query->is_main_query() && $query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','custom_search_result');
最後に
検索結果は、意外にも見落としがちなところかもしれませんね。
一度、自分のブログでも確認してみてください(^^♪
コメントを残す