WordPressでダッシュボードにつなげようとしたら真っ白になった状態を復旧

WordPressでダッシュボードにつなげようとしたら真っ白になった状態を復旧

WordPressでダッシュボードにつなげようとしたら真っ白になった状態を復旧

ウェブサイトは問題なく閲覧できるのですが、ダッシュボードにつなげようとするとログイン画面が表示されずに真っ白な画面が表示されてしまうようになりました。ウェブサイトも真っ白になるケースも発生するようです。WordPressのバージョンアップ、プラグインのバージョンアップ、テーマのバージョンアップ、PHPのカスタマイズなどがきっかけで発生するようなのですが、私のサイトで発生していた状態と復旧方法を紹介しておきます。

原因調査

何が起きているのか把握しないことには復旧のしようがありません。まずは、ダッシュボードにアクセスしても真っ白で何もわからない状態なので、デバッグログを出力するようにwp-config.phpを変更します。

デバッグモード

wp-config.phpに以下の記述があります。

デバッグモードにするには、”false”を”true”に変更するだけです。ただし、この変更だけではウェブサイトの画面にログがそのまま出力されてしまいます。もしくは、真っ白のまま何も表示されないままの場合もあります。それを回避するには、画面表示せずにログをファイルに出力するように追加で記述します。

ログは、/wp-content/debug.logに出力されます。ログを確認してどんなエラーが出ているのか確認してください。

修正内容

私の場合は、以下のエラーが出力されていました。(※xxxは適宜読み替えてください。)

[xx-xxx-20xx xx:xx:xx] PHP Warning:  Cannot modify header information – headers already sent by (output started at /home/xxx/xxx/public_html/xxx/wp-content/themes/xxx/inc/structure/content-extensions.php:1) in /home/xxx/xxx/public_html/xxx/wp-includes/pluggable.php on line 1196

ここの記述から、使っているテーマに含まれるcontent-extensions.phpの1行目に問題がありそうだとわかります。実際に確認してみると、

と先頭に「?」が記述されてしまっていました。記述を修正してからダッシュボードに再度アクセスしてみると、ログイン画面が表示されるようになっていました。

最後に

Pluginで問題があるのかどうか切り分けるのに簡単な方法として、/wp-content/plugins/以下のプラグインのディレクトリ名を一時的にリネームして読み込めなくして動作に影響するか確認する方法があるようです。色々な要因で発生するため、参考になるように、このサイトで実際に発生した真っ白になる現象と解決方法はこちらに都度追記していきます。

Related Posts