※2020年5月25日現在、バージョンアップにより修正されています。 WordPressで置換処理するにはプラグインを利用するのが簡単で、私は「Search Regex」を使っています。 しばらく更新されていませんでしたが、2020年5月9・11日に新しいバージョンが発 ... 続きを見る
WordPressプラグインの「Search Regex」が約5年半ぶりに更新されていた
久しぶりにWordPressプラグインの「Search Regex」を使ったら、エラーメッセージが出ました。
エラーメッセージの内容
続いて、WordPressに登録していたメールアドレスに通知が届きました。
件名:[サイト名]サイトで技術的な問題が発生しています
本文:こんにちは。
WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
今回の場合、WordPress がプラグイン Search Regex でエラーを捉えました。(以下略)
しかし、Webサイトを見ても、データベースを見ても何の変哲もありません。
なぜ致命的なエラーが出たのか?
そして、その対処法は?
エラーの原因は?
結論から言うと、実はこのエラーに対処しなくても問題はありません。
でも、なんとなく気持ち悪いですよね。
届いたメールの通知を読み進めていくと、「エラーメッセージ: Uncaught Error: Call to undefined method SearchRegex::base_url()(以下略)」とあります。
「base_url()」が定義されていないとのことです。
Webで調べたところ、解決方法は3つくらいあって、私が採用したのは「search-regex.php」を修正する方法です。
WordPressからプラグインのphpファイルを編集する方法もありますが、
推奨されないとのことなので、FTPソフトを使い「search-regex.php」を修正しました。
修正の前に、コピーしてバックアップを取っておくと安心です。(取らなくても、失敗したら「Search Regex」プラグインをインストールし直せば良い)
具体的な修正方法
修正方法は「search-regex.php」に、
function base_url() {
return __FILE__;
}
を加えればOKです。
◆修正前(138行目から最終行まで)
<?php
}
}
if ( is_admin() ) {
add_action( 'init', array( 'SearchRegex', 'init' ) );
}
◆修正後(138行目から最終行まで)
<?php
}
function base_url() {
return __FILE__;
}
}
if ( is_admin() ) {
add_action( 'init', array( 'SearchRegex', 'init' ) );
}
これで、エラー表示もメールによる通知もなくなりました。