に投稿 コメントを残す

[WordPress]管理画面が真っ白になった時の対処法

Pocket
LINEで送る

 

WordPressの勉強会やネットで時折、管理画面、自身のサイトが真っ白になったというのは、時折、聞きます。

大概の場合、WordPress本体を更新した際に現れるようです。

今回は、僕自身が、そういう画面が、真っ白になるという事態に直面したので、その対処方法を記事にしました。

1.エラーメッセージを確認する。

1.1 まずは、エラーメッセージの確認する設定をする。

WordPressは、デフォルトでエラーメッセージを表示しないよう設定されています。

そこで、wp-config.phpというファイルを編集し、エラーメッセージを表示するように設定を変更します。

1.2 wp-config.php をダウンロード。

FTPなどで、wp-config.php をダウンロード。

場所は、WordPress本体をインストールした場所の直下にあります。

FTTPソフトをお探しの方はこちら。

初心者にもおすすめフリーのFTPクライアントソフト10選 | TechAcademyマガジン Macで使えるFTPクライアントアプリ5選 | ほりべあぶろぐ

FTPの使い方については、「各FTP名称+使い方」で検索してみて下さい。

サーバーを、ロリポップで契約されている方は、こちらを参照下さい。

各種FTPソフトの設定方法 / ホームページ / マニュアル – レンタルサーバーならロリポップ!

wp-config.phpをダウンロード

1.3 テキストエディタで開き、wp-config.php を書き換える。

define(‘WP_DEBUG’, false);

という記述を

define(‘WP_DEBUG’, true);

に変更してください。




これで、エラーメッセージが現れます。

false を true に書き換えるだけなので、今回は、バックアップは必要ないかと思いますが、このように、WordPressをカスタマイズなどで、ファイルを書き換える場合、old- などを付けて、バックアップを取ってから、編集を行い、もし、編集後、不具合が生じた場合、そのバックアップのファイルを元に戻して下さい。

[php firstline="100"]
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。

define('WP_DEBUG', false);
[/php]

100行目付近に、上のような記述があるかと思います。
テキストエディタで [WP_DEBUG]などで、検索してみて下さい。

ここのfalse を true に書き変えます。

保存し、そして、このwp-config.php を再びFTPでアップロード。

1.4 エラーメッセージを確認

そして、再び画面が真っ白になる操作を行ってみます。

すると、真っ白だった画面にエラーメッセージが現れます。

WordPress 画面真っ白のエラーメッセージ

画面が真っ白になってしまうエラーは、クリティカルな(致命的な)エラーや複数のエラーが入り組んだ場合に見られるようです。

2.考えられる原因

多くの場合、プラグインが原因である。

多くの場合に見られるのは、プラグイン同士の干渉、あるプラグイン自体の問題によるものです。

何らかのプラグインを導入した直後に、画面が真っ白になった場合

  • そのプラグイン自身が問題。
  • 導入したプラグインと別のプラグインが干渉している。

ことが、考えられます。

  • 該当のプラグインを削除する。
  • 機能の似た別にプラグインに置き換える。

という対応方法を取る必要があります。

WordPress 本体を更新後、画面が真っ白になった場合

更新が古いプラグインが原因。

対処法

有効化しているプラグインの中で更新日時の古いものを探し、それらを停止してみる。

3.一般的なエラー対処方法




これは、「画面が真っ白」になった場合に限らず、WordPress でよく見られるエラーの対処法でもあります。

a. プラグインを全て停止

一見、全てのプラグインを一旦停止し、一つ一つ有効化していくこの方法は、煩雑なように思えますが、一番確実で、結果的に早いです。

まずは、プラグインを全て停止しましょう。

そして、エラーメッセージを確認しながら、一つ一つ、プラグインを有効化していきましょう。

Ⅰ. プラグイン全てを停止後、エラーメッセージが消えた場合

エラーメッセージが消えたということは、プラグインが原因ということです。

続くb. の対処法を参考にして下さい。

Ⅱ. プラグイン全てを停止後、エラーメッセージが消えない場合

プラグインを停止し、尚かつ、まだエラーメッセージが消えないということは、プラグインが原因ではないということです。

プラグインとは、別の原因が考えられます。

個別の対応方法などを行ってみて下さい。

b. 一つ一つ、プラグインを有効化していく。

一つ一つ、プラグインを有効化していき、エラーメッセージが現れるタイミングを見ていきましょう。

あるプラグインを有効化し、エラーメッセージが現れれば、そのプラグインが原因ということになります。

この場合、

  1. そのプラグイン自身が問題。
  2. そのプラグインと別のプラグインが干渉を起こしてる。

ということが考えられます。

干渉にしろ、問題のプラグインを、

  • 削除する。
  • 機能の似た別にプラグインに置き換える。



という対応方法を取る必要があります。

2.2 個別の対応方法

一つ一つ見ていきましょう。

Notice

通知。

Warning

警告。
これは、昔、Microsoftの優れたサポートセンター担当に教えて貰ったのですが、エラーが出た場合、そのエラーメッセージそのものを、検索に掛けると解決策に繋がる記事がヒットします。
 
Notice: wpdb::escape is deprecated since version 3.6.0! Use wpdb::prepare() or esc_sql() instead. in /○○/wp-includes/functions.php on line 3712
 
この場合ですと、共通の部分「Notice: wpdb::escape is deprecated since version 3.6.0! Use wpdb::prepare() or esc_sql() instead. in /wp-includes/functions.php on line 3712」や「Notice: wpdb::escape is deprecated since version 3.6.0! Use wpdb::prepare() or esc_sql() instead. 」などを検索に掛けるといいでしょう。
 
検索ボックスに入力できる文字数の限度はありますが、そのまま検索に掛けても、たいがいヒットします。
 
問題のエラーを訳すと、
Notice: wpdb::escape は、バージョン 3.6.0 から非推奨になっています。 代わりに、wpdb::prepare() か esc_sql() を使いなさい。
wp-includes/functions.php の3712行目に。
 
となっています。
wp-includes フォルダのfunctions.php ファイルの3712行目のwpdb::escape が問題で、wpdb::prepare() か esc_sql() に変換する必要があるようですが、実際に検索してみると、下の記事が引かかっりました。
Google Chrome だと、右クリック→「日本語に翻訳」で日本語に翻訳でき、だいたいの内容を把握できます。
また、テクニカルな英語だと、そう難しくないので、チャレンジしてみて下さい。
簡単に概要を述べると、WordPress 3.6.0 から、wpdb::escape が非推奨となり、書き換えが必要ですよ、ということと、その方法が書かれていましたが、Notice だし、スルーしました。
 
Warning: Cannot modify header information – headers already sent by (output started at /wp-includes/functions.php:3712) in /wp-content/plugins/jetpack/class.jetpack.php on line 4736
警告:ヘッダー情報を変更することはできません -ヘッダー情報は、既に/wp-content/plugins/jetpack/class.jetpack.php ファイル の 4736 行目の/wp-includes/functions.php ファイルの3712 によって出力されている。
これは、
などの記事が出て来たのですが、少し意味不明で、他の記事を参考に、少し触ってみたのですが、該当の箇所を少し触ると、別の箇所に同じ、やはり、「 Warning: Cannot modify header information 」エラーが出現し、その箇所を直しても、やはり、同じ「 Warning: Cannot modify header information 」エラーが出現しました。
jetpack というのは、wordpress.org ではなく、wordpress.com の多機能複合プラグインである。
結果的に、先の

define(‘WP_DEBUG’, true);
を、false に戻すと、問題は解消しました。

プログラム的に高度でわかりづらい場合は、その方法は取らない方が賢明でしょう。 

 


 
このように、個別に対処する方法もありますが、たいがいはプラグインが原因となっている場合が多いようです。
今回の僕のエラーは、結局、「プラグインの全停止」と「 [WP_DEBUG] をfalseに戻す」ことで解決しました。

【参考記事】

WordPressのサイトが真っ白で表示されない場合の対処方法【初心者向け】 | TechAcademyマガジン

 

 

(Visited 665 times, 1 visits today)
Pocket
LINEで送る

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください