ワードプレスでプラグインを更新したら下記のエラーに。
なんのことかさっぱりわからん…けど落ち着いてください、下記の対応で回復できました。
表示された文言
Fatal error: Uncaught Error: Call to undefined function trailingslashit() in /home/●●●/www/wp/wp-includes/class-wp-textdomain-registry.php:103 Stack trace: #0 /home/●●●/www/wp/wp-includes/l10n.php(784): WP_Textdomain_Registry->set(‘default’, ‘ja’, ‘/home/y-picture…’) #1 /home/●●●/www/wp/wp-includes/load.php(1401): load_textdomain(‘default’, ‘/home/y-picture…’, ‘ja’) #2 /home/●●●/www/wp/wp-includes/load.php(278): wp_load_translations_early() #3 /home/●●●/www/wp/wp-settings.php(74): wp_maintenance() #4 /home/●●●/www/wp/wp-config.php(95): require_once(‘/home/y-picture…’) #5 /home/●●●/www/wp/wp-load.php(50): require_once(‘/home/y-picture…’) #6 /home/●●●/www/wp/wp-blog-header.php(13): require_once(‘/home/y-picture…’) #7 /home/●●●/www/wp/index.php(17): require(‘/home/y-picture…’) #8 {main} thrown in /home/●●●/www/wp/wp-includes/class-wp-textdomain-registry.php on line 103
どうやら更新が上手くいっていない?スタックしたようだ、レジストリの103行目を書き換えろ
みたいな文言が書かれているようです。
phpのピの字も知らない自分が一発で回復した方法を記載しておきます。
*phpを書き換えるのでバックアップをとって、慎重に、くれぐれも自己責任でお願いします。
[解決方法]
サーバのWPディレクトリ配下の[wp-includes/class-wp-textdomain-registry.php
]が対象です。
サーバ接続の仕方はffftpやクラウドサービスのコンパネからファイルマネジャみたいなものがあると思います。
最後に[ on line103] と書いてあるので103行目です。
僕の場合は103行目にはこうありました。
$this->all[ $domain ][ $locale ] = $path ? trailingslashit( $path ) : false;
⇩
下記に変更します。
$this->all[ $domain ][ $locale ] = $path ? rtrim( $path, ‘/\\’ ). ‘/’ : false;
以上です。これで何事もなかったかのように直りました。
影響などは考慮していないのでわかりませんが、よろしければお試しください。
ちなみに海外のサイトなどでも同様の解決策が書かれているので実績はあるものと思います。