Call to undefined function trailingslashit() 重大なエラー|WordPressのプラグインの更新をしたらエラーになったときの対処法
【景品表示法に基づく表記】本サイトのコンテンツには、商品プロモーションが含まれている場合があります。
カイエダです。
WordPressのプラグイン・アップデートをしていた最中、エラーが発生しサイト閲覧ができなくなる事象が起こりました。(解決済み)。
エラー画面になったときは、とにかく「落ち着く」こと😅
参考サイト様のおかげで、解決策を見つけましたので自分のためにも備忘録を残しておきます。
こんなエラーが出た…(涙)
Uncaught Error: Call to undefined function trailingslashit() in /home/username/siteurl/public_html/wp-includes/class-wp-textdomain-registry.php:103 Stack trace: #0 /home/username/siteurl/public_html/wp-includes/l10n.php(784): WP_Textdomain_Registry->set('default', 'ja', '/home/username') #1 /home/username/siteurl/public_html/wp-includes/load.php(1401): load_textdomain('default', '/home/username...', 'ja') #2 /home/username/siteurl/public_html/wp-includes/load.php(278): wp_load_translations_early() #3 /home/username/siteurl/public_html/wp-settings.php(74): wp_maintenance() #4 /home/username/siteurl/public_html/wp-config.php(99): require_once('/home/username...') #5 /home/username/siteurl/public_html/wp-load.php(50): require_once('/home/username...') #6 /home/username/siteurl/public_html/wp-admin/admin.php(34): require_once('/home/username...') #7 /home/username/siteurl/public_html/wp-admin /home/username/siteurl/public_html/wp-includes/class-wp-textdomain-registry.php on line 103
赤字は個別の名前です。
こんなの出たら泣きますよね…
と、いうことで検索しましたところ、こちらのサイトにヒット!
ありがとうございます…!
エラー内容
WordPress 6.1.1 においてプラグインの更新を実行すると “Uncaught Error: Call to undefined function get_current_screen()” というエラーになることがある。
対策
SandY Design Studio
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で修正される…」との情報があったようです。
恐ろしいのでこういったエラー、もう起こらないでほしいです。
エラーのたびに wp-includes 内のファイルを更新し続けるというのは、現実的ではありませんので…。
情報のご提供ありがとうございました!
Unofficial Web Site Tokyo さま、SandY Design Studioさま、ほんと〜〜!に助かりました。
ありがとうございました!