【WordPress】一部のページが真っ白になってしまった話

先日、WordPressで一部のページが表示されずに真っ白になってしまったので、そのことについて書きます。

ネットで検索して出てくる事例とは異なっていたので、あるあるネタではないと思います。

状況

何かがきっかけで、1つの記事だけ表示されずに真っ白になってしまいました。

キャッシュのクリアを試しても直りませんでした。

パーマリンクの設定変更は行っておりませんでした。

投稿のパーマリンク名を一時的に変えると直りましたが、根本的な解決には至りませんでした。

原因

結論から申し上げますと、親テーマのディレクトリに、誤って空っぽのファイルを作成してしまったことが原因でした。

さらに運の悪いことに、真っ白になってしまったページのパーマリンクと、誤って作成したファイル名が重複しておりました。

具体例

分かりにくいので、具体的に例を挙げて申し上げますと、

例)アクセスする投稿記事のアドレス

http://test.xyz/abc/

親テーマのディレクトリに誤って作成した空ファイル

abc.txt

この場合に、http://test.xyz/abc/にアクセスすると、親テーマのディレクトリの空ファイルabc.txtが表示されてしまいます。ファイルの拡張子は関係ありません。

WordPressの表示順

どうやら、WordPressでは以下の順番で、ページ表示を行っているようです。

  1. 子テーマのディレクトリのファイルを走査
  2. 親テーマのディレクトリのファイルを走査
  3. パーマリンクによるページ表示

今回、順番2で親テーマ内に同名の空ファイルが存在していたため、そのファイルの内容を表示を行った結果、真っ白になったという感じです。

繰り返しになりますが、ファイルの拡張子は関係ありません。拡張子違いで複数ファイルがある場合、表示する優先順位はありそうですが、そこまでは調べてません。

まとめ

盲点だったのは、子テーマしか触っていないと思い込んでいたので、気づくのに時間がかかりました。

子テーマを使う以上、親テーマを弄ることは基本的にないと思います。さらに自分の使っているテーマにどのようなファイルが含まれているか把握していないと思います。

もし同じ現象に悩んでいる方がいらっしゃいましたら、親テーマのディレクトリ内のファイルのタイムスタンプを確認し、怪しいファイルがないか確認してみてください。

コメントを残す

メールアドレスが公開されることはありません。