Search Regexプラグインでエラーが出た、またはエラーを知らせるメールが来た場合の対処

公開日: 使い方など
Knowledge Base トラブル 対処

WordPress5.2からサイトに致命的なエラーが発生したとき、こんなメッセージがメールで届くようになりました。

今回は【Search Regex】プラグインに関するものでした。

こんにちは!

WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。

今回の場合、WordPress がプラグイン Search Regex でエラーを捉えました。

まずはじめに、ご自分のサイト (サイトURL) を開き、表示上の問題がないか確認してください。次に、エラーが発生したページ (エラーページのURL) を開き、表示上の問題がないか確認してください。

この問題をさらに調査するにはサーバーホストに連絡してみてください。

もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別なリカバリーモードがあります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。

リカバリーモード用アクセス用のURL

サイトを安全に保つため、このリンクは 1日 で有効期限が切れます。とはいえご心配なく。有効期限後でもこのエラーが再度発生すれば新しいリンクが送られてきます。

エラー詳細
===============
エラータイプ E_ERROR が /サーバー内のサイトの階層/wp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました。 エラーメッセージ: Call to undefined method SearchRegex::base_url()

へぇ~~便利になったんですね~~と感心している場合ではありません。幸い今回の【Search Regex】のエラーでは致命的なエラー(ふつうは画面が真っ白になる、サイトが動作しなくなるなどが起こるエラー)なのにサイトの状態はそのままの模様。致命的なエラーにもいろいろあるんですねぇ(だから感心してる場合じゃないって!!)。

最後に書いてあるエラー詳細というのが問題の箇所になるようです。

プラグイン編集からSearch Regexの該当箇所(view/results.php)を見てみると、26行目には以下の内容が書かれています。

<img src="<?php echo plugins_url( '/images/small.gif', $this->base_url() ); ?>" style="display: none" alt="pre"/>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

どうやらスピナー(処理中)画像を出力するためにプラグインのディレクトリを特定する構文に間違いがあるようです。

この行を以下のように修正すれば完了です

<img src="<?php echo plugins_url( '/images/small.gif', __FILE__ ); ?>" style="display: none" alt="pre"/>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

※このサイト以外にも同様のことを紹介しているページがいくつかあって、コメントアウトする方法や削除してしまうなんていう荒療治的な方法が掲載されていますが、単純に現在使われていない指示方法が使われているだけなので修正すればいい話かと思います。

おまけですけど、今回の修正コードについての記述方法は以下のWordpress正式コーデックに掲載されていますし、修正移行メールも来ませんから問題はないでしょう。


いつから「$this->base_url()」が非推奨(使用できないよう)になったのかは掲載されていませんでしたが、ひょっとするとこのプラグインの最初からだったのでは?と思われます。今回はメールが来たので発覚しましたがそれまでは問題なく使えていましたからね。

ただWordpressのバージョン5.2以降では修正しないとバンバンメールが来るようですから直しておきましょう。

また【Search Regex】プラグインはずいぶん昔から更新されていないので、恐らく今後も修正されることはないかも知れません。が、SSL化の時や何かを一括で変更したいときには大変重宝するプラグインなので、自身用も兼ねて修正版をアップしておきますので、必要な方はこちらからどうぞ。
※問題の部分を修正しただけのものですから、動作を保証するものではありません。

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報