LoginSignup
3
4

More than 5 years have passed since last update.

WordPressのhttps化によりサイト内検索が文字化けしてしまった

Last updated at Posted at 2016-09-20

WordPressにてHTTPS対応をしたあとにサイト内検索機能が文字化けしてしまい、検索が効かなくなってしまいました。

色々調べてみましたが、同事象が発生している記事を見かけなかったので備忘録で残しておきたいと思います。

検索した際のURL
https://hogehoge.com/?s=%25E3%2583%2586%25E3%2582%25B9%25E3%2583%2588

この状態ですと実際に検索に使用される文字も「%25E3%2583%2586%25E3%2582%25B9%25E3%2583%2588」が使われてしまいどの記事にもひっかからなくなってしまいました。

そこで、以下を修正して対応しました。

wp-includes/query.php
    protected function parse_search( &$q ) {
        global $wpdb;

        $search = '';
        // ここを追記! urldecodeすることでパーセントエンコード?された文字列を復元
        $q['s'] = urldecode($q['s']);

        $q['s'] = stripslashes( $q['s'] );
        if ( empty( $_GET['s'] ) && $this->is_main_query() )
            $q['s'] = urldecode( $q['s'] );
             〜〜〜〜
    }

WordPressの内部をいじっているため、これが正解だとは思いませんが、他に対応方法がわからないため当面はこれで運用していきたいと思います。
もし他に良い解決策を知っている方いらっしゃいましたらコメントくださいませ!

3
4
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4