全角のスペースでAnd検索

またまた検索の話題です。
全角のスペースでもAnd検索出来るようにする方法を紹介します。

WordPressの検索は、単語同士を半角のスペースで区切るとAnd検索ができます。ところが全角のスペースだと上手くいきません。全角のスペースを単語の一部として検索してしまうからです。

wp-includes/classes.phpの433行目に以下の行を挿入してください。

$q['s'] = str_replace(' ', ' ', $q['s']);

変更したら、必ずブログで使っている文字コードで保存します。
最後に元の場所へアップロードすれば完了です。

TrackBack URIhttp://bd.dotted.jp/archives/45/trackback/

2 Trackbacks & Pingbacks

  1. no.1 やおよろグッ! Says:
  2. 検索窓...

    なんで今まで無いことに気づいてなかったのか……アリエン。
    というわけで検索窓をつけました。
    とりあえず動いているようでしたが、もしやと思い XOOPS で経験した「全角 (more...)

  3. no.2 こだわらない日々 Says:
  4. 全角スペースでand検索(wordpress標準サイト内検索...

    searchform.phpに変更を加えてみた。に書いたように
    wordpress標準のサイト内検索は全角スペースでAND検索してくれない。
    半角スペースならしてくれる (more...)

2 Comments

  1. no.1 Kaira Says:
  2. 本当ならプラグイン化したほうが良いのかも・・・ :s
    WordPressをアップデートした際にも変更し直す必要がありませんし、無効化も簡単です 8)

    私は技術を持ち合わせていないので、どなたかサクッとプラグイン化しちゃってください :oops:

  3. no.2 moon Says:
  4. WordPressのバージョンによって行は違うようです。

    当方の環境はWordPress2.0.4ですが
    424行目に追加することで動作しました。

    ==================================
    422 // If a search pattern is specified, load the posts that match
    423 if (!empty($q['s'])) {
    424 $q['s'] = str_replace(' ', ' ', $q['s']);
    425 $q['s'] = addslashes_gpc($q['s']);
    ==================================

    ご報告までに。

Leave a Reply