WordPressをカスタマイズしてたら画面が真っ白に!対処方法は?

php WordPressのカスタマイズ

テーマ内容の修正中、サーバーのお引越しなどで稀に起こる真っ白画面ですが、
慌てず騒がず一つ一つチェックしてみましょう。

カスタマイズ中のエラーなら、まずはファイルを戻す

テーマやプラグインを修正中に起こった場合、カスタマイズする前のファイルを
アップロードすることで解決します。
こういったケースに備えてカスタマイズ中はバックアップに気をつけましょう。

原因がわからない場合、デバッグモードをONにする

特にカスタマイズしていたわけでもなかったり、上のようにファイルを戻しても
まだ白い画面のままの場合はデバッグモードをONにして原因を調べてみましょう。
ワードプレスはPHPで構成されているオープンソースソフトウェアです。
このPHPのエラーログを確認することで、問題の原因を調べることができます。

ワードプレスには設定ファイル(wp-config.php)が存在します。
インストール当初一番最初に触ったファイルです。ここでデバッグモードのON/OFFが切り替えられます。

> /wordpress/wp-config.php

define('WP_DEBUG', false);

define('WP_DEBUG', true);

もし define('WP_DEBUG', ... の記述がなければ追加してください。
true は真偽のうち真を表します。
これでデバッグモードがONになり、内部エラーが表に出るようになりました。
表示されているエラー文を見ることで、
どのファイルのどの行でエラーが発生しているかがわかります。

原因1:テーマ内のPHPエラー

エラー文に .../themes/... の文字がある場合です。

デバッグモードでエラー文が出ている場合、内容に合わせて一つ一つ修正していきます。
エラー文が複数出ている場合、まずは一番最後に表示されているものを見ます。

Parse error: syntax error, unexpected 'set_post_thumbnail_size' (T_STRING) in /xxxx/xxx/.../テーマフォルダ名/functions.php on line 20

例えばこんなエラーだったら、テーマ内の functions.php が原因になっているので確認します。
このエラーの場合、20行目の set_post_thumbnail_size が問題か、
set_post_thumbnail_size の前の行に問題が発生していることがわかります。
>> WordPressで見逃しやすいエラー原因まとめ! も要チェックです。

それらしい場所を修正後、また確認してOKなら必ずデバッグモードをOFFに戻すことを忘れずに!

> /wordpress/wp-config.php

#しっかり戻す
define('WP_DEBUG', false);

原因2:プラグインのエラー

エラー文に .../plugins/... の文字がある場合です。

管理画面に入ることができるなら、管理画面からエラーが起きているプラグインを無効化させます。
管理画面左メニューのプラグイン->インストール済みプラグインから、
該当のプラグインの「停止」を押します。

もし管理画面に入れない場合は、FTPソフトなどで該当のプラグインフォルダをリネームすることで
一時的に無効化することができます。

/wp-content/plugins/mondaino_plugins/

/wp-content/plugins/_mondaino_plugins/

原因3:データベースのオーバーヘッド

テーブルのオーバーヘッドが溜まっていると、WordPressが表示されなくなることがあります。
このオーバーヘッドはphpMyAdminから確認することができます。
phpMyAdminとは、PHPで構成されたMysql管理ツールです。

WordPressで使用しているデータベースを確認します。
どのデータベースか忘れてしまった場合は wp-config.php から確認できます。
下の例なら、データベース名は wordpress です。

# データベース名
define('DB_NAME', 'wordpress');
# ホスト名
define('DB_HOST', 'localhost');

オーバーヘッドが溜まってました。
この画像例では少ないですが、MBまでいっているとWordPressが表示されなくなることがあります。

すべてのテーブルにチェックを入れて、下部にある「テーブルを最適化する」を選択します。
これでテーブルのオーバーヘッドは解消されます。
テーブルのオーバーヘッド削除はWordPressの高速化にも役立つので、
定期的に最適化するといいかもしれません。

原因4:サーバー

最終的にWordPress内に問題がない場合、サーバー自体に問題があるかもしれません。
サーバーのエラーログを確認するか、契約しているサーバーの障害情報を確認してみましょう。

それでも原因がわからない場合……

最終手段になりますが、WordPressを再インストールしましょう。
テーマやメディア、データベースやプラグインすべてをバックアップして
WordPressの本体を入れ直した上で確認してみます。

バックアップ後に別のWordPressにインストールし直すのは
プラグインを使用すると便利です。(念のため自身でもバックアップすることをお勧めします)

php WordPressのカスタマイズ

関連記事