どうも、スマコマのコマ太郎です。
突然、「サイトで技術的な問題が発生しています」というメールがこのサイトから飛んできて、何だろうと思って内容を見てみると、以下のような文面がそのメールに書いてありました。
WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
今回の場合、WordPress がプラグイン Search Regex でエラーを捉えました。
— 中略 —
エラー詳細
===============
エラータイプ E_ERROR が /home/hogehoge/smakoma.com/public_html/wp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました。
エラーメッセージ: Uncaught Error: Call to undefined method SearchRegex::base_url() in /home/hogehoge/smakoma.com/public_html/wp-content/plugins/search-regex/view/results.php:26
どうも、WordPress 5.2 から実装された機能らしく、エラーがあると通知が届くようになったようですね。
で、今回の内容ですが、「Search Regex」プラグインでエラーがあるよってことでした。
エラーにある results.php の 26行目を見ると
<img src=”<?php echo plugins_url( ‘/images/small.gif’, $this->base_url() ); ?>” style=”display: none” alt=”pre”/>
というコードが書いてあるのですが、この $this->base_url() が未定義だよと怒られているんですね。
これ自体は、$this->base_url() を dirname(__FILE__) に置き換えるだけでエラーは回避できるのですが、そもそもここで書き出している画像ファイルですが、style=”display: none” となっていて非表示なんですね。
どんな画像か見てみたところ、これ ↓ でした。
このクルクルしている画像を非表示で読み込んでいます。検索中にこのファイルを表示し、結果ページで非表示にするみたいなイメージだったのかもしれませんが、途中で実装方法を変えたみたいですね。非表示だったから気づかず、残ったゴミですね。
デベロッパーツールで強制的に表示させてみたスクショ
利用される箇所は、上図のとおりなのですが、実際には表示されません。ということで 26行目は削除するだけで OK です。このエラー、実はかなり昔から出ていてWordPress のフォーラムに寄せられているのですが、そのまま放置されているようですね。
すでに3年以上アップデートされていないので、更新は望めないですね。ということで該当箇所を削除するか、コードを書き換えて対応することになります。
一応、放置という手もありますね・・・今後もエラーメールが吐き出されますが・・・
Search Regex の修正の手順
WordPress の管理画面にログインし、[プラグイン]-[プラグインエディター] をクリックします。
プラグイン エディターの画面
1. [編集するプラグインを選択] から Search Regex を選び、[選択]ボタンをクリックします。
2. プラグインファイル内にある [view]-[results.php] をクリックします。
削除する箇所
26行目にある上記の部分を削除するか、下記のコードに置き換え、[ファイルを更新]ボタンを押せば修正が完了します。
1 |
<img src="<?php echo plugins_url( '/images/small.gif', dirname(__FILE__) ); ?>" style="display: none" alt="pre"/> |
Search Regex のエラーのまとめ
WordPress5.2 の新機能で今まで見えなかったエラーが見えるようになり、「Search Regex 」を使っている人も多いでしょうから、たくさん困る人が出るでしょうね。
出来ればアップデートして欲しいところですが、作者さんはどこへやら。
ワードプレスのテーマを変更したのでいらないタグを削除するためにこのプラグインを使用したところ、技術的な問題が発生していますとワードプレスからメールが来て困り果てていました。
この記事に助けられたのでお礼を言いたくてコメントしました。
ありがとうございます!!
わざわざコメント頂き、ありがとうございます。
お役にたてて、何よりです(笑)