【WP】Search Regex エラーの修正方法【results.php 26 行目 base_url】

  • 投稿 : 2019-05-21

エラーの内容

エラー詳細
===============
エラータイプ E_ERROR が /home/xxx/public_html/blog.example.com/wp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました。 エラーメッセージ: Uncaught Error: Call to undefined method SearchRegex::base_url() in /home/xxx/public_html/blog.example.com/wp-content/plugins/search-regex/view/results.php:26
Stack trace:
#0 /home/xxx/public_html/blog.example.com/wp-content/plugins/search-regex/search-regex.php(130): include()
#1 /home/xxx/public_html/blog.example.com/wp-content/plugins/search-regex/search-regex.php(116): SearchRegex->render('results', Array)
#2 /home/xxx/public_html/blog.example.com/wp-includes/class-wp-hook.php(286): SearchRegex->admin_screen('')
#3 /home/xxx/public_html/blog.example.com/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#4 /home/xxx/public_html/blog.example.com/wp-includes/plugin.php(465): WP_Hook->do_action(Array)
#5 /home/xxx/public_html/blog.example.com/wp-admin/admin.php(253): do_action('tools_page_sear...')
#6 /home/xxx/public_html/blog.example.com/wp-admin/tools.php(10): require_once('/home/xxx/public...')
#7 {main}
thrown

たぶん、前からエラーだったんだけど私が認識してなかっただけだと思います。WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されたということで、さっそくメールが来ました。

修正方法

$this->base_url()をdirname(__FILE__)に変更

<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"/>

/wp-content/plugins/search-regex/view/results.php
の26行目を上記のように修正すればOKだと思います。

たぶん、このロジックはなくても動作するようなので、削除でも本当は良いのかも。

参考

関数リファレンス/plugins url - WordPress Codex 日本語版

今回「results.php」というファイルは、viewというサブディレクトリに配置されてるので、dirname(__FILE__)を使います。

I cannot search anything. | WordPress.org
WordPress Search Regex plugin breaks when I search - Stack Overflow

上記を見る限りでは、2016年頃から、このエラーが出てるみたいですね。

スポンサーリンク