Search Regex 致命的なエラーを吐くようになる WPプラグイン
投稿日:2019/11/26 更新:2020/2/7 コメント 0件 ワードプレス Search Regex, エラー, プラグイン, ワードプレスサイト移転に伴うURLチェックのためにワードプレスのプラグイン「Search Regex」を久しぶりにインストールして有効化したんですが「[edius…?]サイトで技術的な問題が発生しています」という件名のメールがワードプレスから届きました。
原因
サイトが表示されないとかの致命的な問題ではないんですし、設定画面でも特にエラーメッセージが表示されるという感じではないです。ワードプレス5.2になってプラグインやテーマにエラーがあった時に自動送信されるようになったんですが、それが無かったら気付かなかったと思います。
このエラーは調べるとたくさんの記事が出てきたので「Search Regex」では有名なエラーのようです。
エラータイプ E_ERROR が ~/wp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました。 エラーメッセージ: Uncaught Error: Call to undefined method SearchRegex:: base_url() in ~/plugins/search-regex/view/results.php:26
対策
放置しているのも気持ち悪いですし、慣れたプラグインなので他のプラグインをインストールして使い方を一から覚えるのも邪魔臭いのでどうしたものかと思っていたんですが、コードを書き換えるとエラーが表示されなくなるそうなのでその方法でやってみました。
基本的にはコードを書き換える行為は宜しくないんですが「Search Regex (Version 1.4.16)」はもう4年間更新されていないので仕方ないですよね。
プラグインエディターから直接修正してみました。尚、真似される方はアクセスの少ない時間帯に自己責任で行って下さい。
あと何かあった時にはすぐに対処できるようにFileZillaなどのFTPソフトを起動させてから作業するとダッシュボードにアクセスできなくなった時などにすぐにプラグインを削除したりできるのでおススメです。
ただ、「使用中のプラグインへの変更は推奨されません。」とか表示されていたので停止させてから作業しました。
「search-regex/view/results.php」の26行目の赤字のところの記述に問題があるそうです。
<img src="<?php echo plugins_url( '/images/small.gif', $this->base_url() ); ?>" style="display: none" alt="pre"/>
以下のように書き換えるといいようです。
<img src="<?php echo plugins_url( '/images/small.gif', dirname(__FILE__) ); ?>" style="display: none" alt="pre"/>
コードを書き換えてプラグインを有効化するとワードプレスからエラーメールは届かなくなりました。
ひとつ問題なのが「Search Regex」はほとんど使わないので使用したい時だけインストールして利用していたんですがそれをやるとまたエラーを吐くのでプラグインを削除せずに「停止」にしておく必要があります。
参考サイト : Search Regex使用時に「サイトで技術的な問題が発生しています」というエラーメールが届くときの解決方法