WordPressのログイン画面が真っ白になって何もできない状態になることがあります。
ここでは、WordPressの画面が真っ白になった時の対処方法を解説します。
WordPressの画面が真っ白になった時の対処方法
WordPressの画面が真っ白になる原因
WordPressの画面が真っ白になった場合は、まずは「functions.php」を疑ってみます。
画面が真っ白になる原因は、functions.phpなどのphpファイルをカスタマイズした後に保存する際の文字コードが原因となっている場合が多いようです。
保存する文字コードが「BOMありUTF-8」の場合が原因
例えば、「functions.php」をカスタマイズする場合、FTPソフトでローカル環境(パソコン内)に移し、ローカル環境で編集して、サーバーにアップする方法があります。
このときに、phpをWindowsのメモ帳(notepad)を使って編集している場合は要注意です。
Windows 10 May 2019 Update (バージョン1903)のメモ帳(notepad)からは「BOMなしUTF-8」がデフォルトの保存形式になりました。
しかし、それ以前のメモ帳(notepad)のデフォルトの保存形式は「BOMありUTF-8」です。
BOMとは
BOMとは、「このテキストファイルの文字コードはUTF-8です」とコンピュータに知らせるためにファイルの先頭に付けられるデータです。
しかし、このBOMがあるがゆえに不具合を起こすことが少なくありません。
サーバーによってはBOMありでファイルを保存すると画面が真っ白になることも
サーバーによっては、不具合を起こさないものもありますが、例えば当サイトでレンタルしているカラフルボックスというレンタルサーバーでは、「functions.php」を「BOMありのUTF-8」で保存するとWordPressのログイン画面が真っ白になります。
ちなみに、エックスサーバーでは画面は真っ白にならず問題なく動作します。
つまり、Windows 10 バージョン1903以前のメモ帳(notepad)を使ってファイルを保存する場合は、UTF-8で保存すると「BOMありのUTF-8」で保存されますので、サーバーによってはそのまま移行すると画面が真っ白になったりエラーが表示されるという訳です。
そして、これは「functions.php」に限ったことではありません。
ブログのデザインに変更を加えたり、機能を追加したり、また、WordPressテーマの不具合を修正したりと、header.phpやsingle.phpをカスタマイズをすることがありますが、header.phpやsingle.phpなどでも、「BOMありのUTF-8」で保存すると、WordPressで画像がアップロードできなくなったり、ホームページの表示がおかしくなったり、と不具合が出る場合があります。
phpファイルもそうですし、HTMLやCSSファイルも様々な不具合の原因になります。
保存する文字コードにより画面が真っ白になった時の解決策
解決策としては、「BOMなしUTF-8」がデフォルトになったWindows 10 May 2019 Update (バージョン1903)以降のメモ帳(notepad)であれば、「UTF-8」を指定して保存する。
もしくは、Windowsのメモ帳(notepad)の使用は避け、TeraPadや秀丸エディタなどを使って「BOMなしUTF-8」で保存して移行するようにします。
新しいバージョンのメモ帳
TeraPad(無料)では、保存の際に、文字コードの選択肢としてUTF-8とUTF-8Nが選べますので「UTF-8N(UTF-8 BOMなし)」を選んで保存します。
TeraPad
秀丸エディタなどで選択肢にエンコードの種類がUTF-8しかない場合はUTF-8を選び、「BOMの有無」の箇所で「なし」を選択するようにします。
まとめ
WordPressのログイン画面で、画面が真っ白になったりする原因は、色々な原因が考えられますが、functions.phpなどのphpファイルをカスタマイズした後に保存する際の文字コードが原因となっている場合が多いようです。
文字コードが、「BOMありのUTF-8」で保存されているケースは正常に動作しない原因となる場合がありますので注意しなければなりません。
phpやhtmlなどを編集して保存する際は、Windowsのメモ帳の使用は避け、TeraPadや秀丸などを使って必ず「BOMなしのUTF-8」で保存してアップロードするようにしましょう。
また、functions.phpなどを編集すると、「エラー:予期しない出力によりCookiesがブロックされました」といったエラーが表示されることもあります。
どういった不具合が発生するかわからないため、phpなどをカスタマイズする前は、必ず事前にバックアップをとり、問題が発生したらいつでもすぐに元に戻せるようにしておきましょう。