深夜にWordPressのプラグインを更新してたら突然サイトが真っ白になって下のメッセージが。。
Fatal error: Uncaught Error: Call to undefined function get_current_screen() in /home/…
なんという恐ろしい絵面なことか。サイト内のどのURLもこのメッセージしか出なくなった。目眩がした。客先のサイトなのに💧
ググると解決方法があったので取り急ぎメモしておこう。
Contents
エラー内容
WordPress 6.1.1 においてプラグインの更新を実行すると “Uncaught Error: Call to undefined function get_current_screen()” というエラーになることがある。
対策
wp-includes/class-wp-textdomain-registry.php
を書き換える。
当該ファイルの103行目は、
$this->all[ $domain ][ $locale ] = $path ? trailingslashit( $path ) : false;
となってるはずだが、これを以下のように変更する。
$this->all[ $domain ][ $locale ] = $path ? rtrim( $path, '/\\' ). '/' : false;
注釈
このエラーはWordPress 6.1.1におけるエラーで、6.2で修正されるとの情報あり。
修正してくれないとclass-wp-textdomain-registry.php
をメンテし続けるなんてできないし頼む。。。
参考サイト
下記サイトを参考にさせていただきました。本当に助かりました、ありがとうございます。
WordPress のエラー: Uncaught Error: Call to undefined function trailingslashit() は6.1のバグ – Unoff…
(2023/3/2 追記) コードが間違っていたのを「Sandy Design Studio」さんのこちらの記事で指摘いただき修正しました。ありがとうございます。 プラグインを更新したら上のエ…
基本的に上記サイトの通りなのだが、書き換える内容が一部ミスってるようで、それは下記サイトで判明した。修正されてました^^;
“Call to undefined function trailingslashit()” wordpress PHP fatal error when trying to update plugi…
We have a wordpress installation on provider wpengine. When we try to update some plugins we get the fatal PHP error in subject. The provider support do not kno…
以上
ポチップ