【WordPress】ログインしようとしたら画面が真っ白になってしまった時の解決方法

WordPress Logo
Logo / Phil Oakley

お客さんのサイトをWordPressで構築し、ほぼ出来上がった状態で、あとはお客さん側で記事を書くよーって段階で起こったトラブルシューティング。

ログインしようとすると画面が真っ白になるという・・・・。Σ(゚д゚lll)

ちょっと難儀しましたが、解決したので覚え書き。

http://example.com/wp-admin でアクセスすると、通常はログインを促す画面になります。
今回のケースでは画面が真っ白になって何も表示されない、とのこと。
問い合わせがあってすぐに思いついたのはブラウザのキャッシュが残っていて不具合が起きたのではないか、ということ。
お客さんのマシンでは真っ白だけど、僕の環境だと何の問題もない、という不思議な現象だったので。

さらに不思議なのは、
http://example.com/login.php
だとログイン画面までは表示される、ということ。
ただし、IDとパスワードを入力しても先へ進めないらしい。

さらにマシンを変えて状況を再現しようとすると、たしかに
http://example.com/login.php
でIDとパスワードを入力したあと画面が真っ白になることが分かりました。

こうなってくると、どうもブラウザの仕業ではなさそうなので、調べてみました。

How to fix Google Chrome Aw Snap error message
How to fix Google Chrome Aw Snap error message / IvanWalsh.com

WP管理画面やブログ画面が真っ白お手軽診断 « 左脳廻風[ http://kassy.jpn.org/kaifu/cms/wordpress/178.php:bookmark]
こちらの記事によると、
“だいたい、pluginかthemeが原因です。”
ということなので、こちらから手を付けて行きました。

とはいえ、テーマはデフォルトの「Twenty ten」なので、テーマに問題があるとは思えません。
手を加えた部分がおかしい可能性はありますが、とりあえず後回しにして、先にプラグインから検証します。

一度プラグインを全て外し、一つずつ有効化していって、不具合が起こるかどうかをみていきます。
しかし、プラグインを全て外しても画面は真っ白なまま。
ということはプラグインが原因ではない、ということになりそうです。

WordPress Moleskine notebook
WordPress Moleskine notebook / Nikolay Bachiyski

で、次に参考にさせていただいたのがこちらの記事。
WordPressで画面が真っ白になったら、最初にやるべきこと | Simple Colors

wordpressでは通常、エラーメッセージというのは表示されない設定になっているので、wp-config.php をちょっといじってやって、エラーメッセージを表示させ、原因を特定することができる、とのこと。

方法は簡単。
[cc]define(‘WP_DEBUG’, false);[/cc]

[cc]define(‘WP_DEBUG’, true);[/cc]
にする。

注意点がひとつ。
wp-config.phpにこの記述が無い場合は、
[cc]require_once(ABSPATH . ‘wp-settings.php’);[/cc]
よりも上に記述を追加すること。

wp-config.php を保存してサーバにアップして再度
http://example.com/login.php
からログインを試みます。

すると、2つだけですが、エラーメッセージが表示されました。
キャプチャを撮るのを忘れてしまったのですが、
原因は functions.php の記述にありそうなことが書いてありました。
原因がだいたい特定できたら wp-config.php は元に戻しておきましょう。

WordPress 3.2 リリース記念ケーキ
WordPress 3.2 リリース記念ケーキ / odysseygate

で、なぜ、 functions.php がおかしかったのか。

実はこの functions.php には、以前手を加えていたのでした。
【WordPress】固定ページに特定のカテゴリーのみを表示する方法 | glad design blog – Crazy One –
という記事でご紹介してますが、この設定をする際にどうも記述が間違っていたようです。

どこがどう間違っていたのか、をじっくり検証してもよかったのですが、もっと根本的に解決したかったので、このケースでは functions.php には手を加えずに、別の方法をとることにしたのでした。

教訓:

  • まず、 functions.php をいじってエラーメッセージを表示させ、原因のあたりをつける
  • まあだいたいはthemeかpluginが原因であることが多い、ということを念頭に置いておく
  • WordPress レッスンブック 3.x対応
    エビスコム
    ソシム
    売り上げランキング: 1225
    WordPress 3 サイト構築スタイルブック
    エ・ビスコム・テック・ラボ
    毎日コミュニケーションズ
    売り上げランキング: 5469
    PHPによるWordPressカスタマイズブック―3.x対応
    藤本 壱
    ソシム
    売り上げランキング: 39364
    WordPressスーパーカスタマイズ 3.0対応 ポテンシャルを100%引き出すテクニック
    下野 宏 下野 理子
    ソフトバンククリエイティブ
    売り上げランキング: 21755
    基本からしっかりわかる WordPress 3カスタマイズブック (Web Designing Books)
    大藤幹
    毎日コミュニケーションズ
    売り上げランキング: 20594
     
    Copy the code below to your web site.
    x 

    Powered by

    %d人のブロガーが「いいね」をつけました。