【WordPress】最新の記事だけがプレビューもできず真っ白になる怪現象に遭遇してなんとか解決した

WordPress iPhone
WordPress iPhone / @cdharrison

「WordPress」✕「真っ白」シリーズの最新作でございますw

ちなみにシリーズ過去作はこちら。
【WordPress】ログインしようとしたら画面が真っ白になってしまった時の解決方法 | Crazy One – glad design blog –
【WordPress】WordPressで画面が真っ白な灰になってからまるっと完全回復するまでの覚え書き。要保存! | Crazy One – glad design blog –
【WordPress】背景色以外何も表示されない怪現象の覚え書きメモ | Crazy One – glad design blog –

「ピンチは素晴らしいチャンス」ということで、へこたれずに解決したのでネタにしますw

事の発端はこちらの記事「【GTD】Gmailでタスク管理する『ActiveInbox』のアップデート方法(chrome webstoreではなく) | Crazy One – glad design blog –」をMarsEditで書いていて、ほぼ書き終えた段階でブラウザから管理画面にて微修正、プレビューをしたところ・・・・プレビューされない・・・・・・あれ? なんで?
おかしいなあ、と思いつつ何度か「下書きとして保存」してプレビューして・・・・・表示されない・・・・・を繰り返しておりました。

MarsEdit – the blog editor for WordPress, Tumblr, Blogger and more. App
カテゴリ: ソーシャルネットワーキング
価格: ¥3,450

「プレビューされない」というのも微妙な段階がありまして、最初は記事本文のみが表示されない状態でした。
ここで原因を探ろうということで、WordPressのバージョンが低いことを思い出し、ver.3.4.1にアップデートしました。
しかし、状況は変わらず、いや、何度もプレビューを繰り返しているうちにブログ全体、ヘッダーすら表示されないという状態になってしまいました。

このとき過去記事はどうなのかというと、過去記事は正しく表示されるのでした。
ですから、最新の記事に問題があるのではないかと。

ひとまずは過去に書いたように、
【WordPress】ログインしようとしたら画面が真っ白になってしまった時の解決方法 | Crazy One – glad design blog –
エラーそのものを表示させるため、wp-config.phpに以下を記述。
define('WP_DEBUG', true);

するとでるわでるわ(^_^;)
しかしほとんどは「この記述はver.3.4では推奨してないから書き換えてね」的なことでした。
ここらへんは僕には無理だし、今回の不具合には直接関係無さそうなのでとりあえずスルー。
表示が邪魔だなーと思ったら、書いてあるファイルの行(line 〜〜とかで行数が分かる)をコメントアウトしておけばいいかと。
(あとで困るかもしれないから残したままでもいいかもだけど)

しかし、最新記事だけが表示されない不具合は解消されず。

=====

ここでなにげにFacebookで呟いてみたら、ありがたいことにいろいろとアドバイスをいただきました。
@Nully さんと @ikeda さんというPHPerに助言をいただくという贅沢なスレッドになりましたww

ざっくりまとめると、

●「真っ白」というのは本当になにもサーバが返していないのか、疑ってみる=ソースを表示してみる
●「ヘッダーすら表示されない」ということはPHPかJavascriptのエラーの可能性が高い
●だいたいはプラグインが悪さしている
●なのでプラグインを全て無効化してひとつづつ検証すべし

ということでローラー作戦しました。

(1)まずブログ(サイト)をいったん閉じます(管理者以外のアクセスを弾く)。
maintenance mode というプラグインを入れて有効化、メンテナンスモードを実行
WordPress › Maintenance Mode « WordPress Plugins

(2)maintenance mode 以外のプラグインを無効化して、最新記事のプレビューが見れるか確認

(3)最新記事が表示されたのでやはりプラグインが諸悪の根源だったことが確定

(4)上から順にプラグインをひとつづつ有効化していき、どれが犯人なのかを突き止める。
が、その前にWordPressのキャッシュをクリアしつつ表示確認したほうがいいので、キャッシュをワンクリックでクリアできるプラグインを入れておく
WordPress › Quick Cache ( Speed Without Compromise ) « WordPress Plugins

(5)今回該当した犯人はこちら
WordPress › WP-Click-Tracker « WordPress Plugins
こいつを外したら正常に表示された。

(6)残りのプラグインも引き続き検証し、問題ないものだけを有効化しておく

(7)全てが完了したらメンテナンスモードを解除しておく

結論としては Quick Cache というプラグインがPHPエラーを吐いていて、ヘッダーもろとも表示されずに止まってしまっていた、ということのようでした。

WordPressはさまざまなプラグインによって簡単にいろんな機能を実装できるので、僕のようなノンプログラマーな人にはとてもありがたいのですが、たくさん入れすぎたり、バージョンの組み合わせによっては不具合が起こったりしますので、適宜調整しつつ、うまく使っていきたいものです。

今回も(自分自身は)大変勉強になりました。
アドバイスくださったお二方( @Nully さんと @ikeda さん )には御礼申し上げます!
ありがとうございました!