検索時の全角スペースを有効にする方法

[WordPress] 検索時の全角スペースを有効にする方法

※ 当サイトは広告を含みます。

WordPressで検索時の全角スペースを有効にする方法です。
この対処をしないと検索機能で全角スペースを利用したAND検索が利用できません。

と言いたいところですが、実はこれ大抵の人は最初から対応済みです。
何故ってWordPressには標準で[WP Multibyte Patch]ってプラグインが入ってるからです。

りさ
りさ

じゃあ、この記事いらないじゃん。

管理人
管理人

おいおい、初期インストールして知らんプラグインが入ってたら全部消すだろ。

りさ
りさ

消したんですか?

管理人
管理人

はい。何の躊躇もなく全部消しました。

WP Multibyte Patchって必須と書かれた記事が多いですが、実はこのプラグインは必須ではありません。
結論を言うと人によります。と言うことで、この記事は絶対プラグイン使わないマン向けの記事になります。

なお、WP Multibyte Patchの必要性ついては本題とズレるので語りません。
公式の説明を読んで僕は不要と思ったので未インストールです。

◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。

コードを追加する

functions.phpとかに以下のコードを追加します。


// 検索の全角スペース対応
add_action('pre_get_posts', function ($query) {
  if (is_admin() || !$query->is_main_query()) {
    return;
  }

  if ($query->is_search) {
    $s = $query->get('s');
    $s = str_replace(' ', ' ', $s);

    $query->set('s', $s);
  }
});

参考サイト https://tatuking.com/wp-search-space/

仕組み

検索時の文字列から全角スペースを半角スペースに変換してます。
半角スペースは元から正常に動作するので、結果として全角スペースも動くようになります。

あとがき

管理人
管理人

適当に削除して何か起きたらその時に考えるやつ。

りさ
りさ

それいつか致命傷になりますよ。

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。