「ブログの過去記事のリライトでもしよっかな♪」と思って、いつもどおりWordPressの「更新」キーを押下したら・・・。
予期せぬエラーが発生して、WordPressの画面が真っ白になって、表示されないんですけど!?
WordPressの画面が真っ白のエラーになるのって、大抵functions.phpを触って、サイト・ブログのカスタマイズをしている時ですね。
WordPressをカスタマイズしようとして、画面が真っ白のエラーになった事は1度や2度はあるけど・・・。
でも、今回はいつものfunctions.phpを触って画面が真っ白問題とは違ったので、自分の反省の意味もこめて残しておきます。
結論をいうと、ロリポップのサーバーでfunctions.phpを触った時に、保存形式がUTF-8で「BOMあり」になったことが原因でした!
そこで、今日はWordPressの画面が真っ白になるエラーの原因やfunctions.phpがUTF-8(BOM付き)の確認と対処法を書くよ♪
WordPress(ワードプレス)でfunctions.phpを触る時には必ずバックアップが必要
WordPressをカスタマイズをしたい時は、WordPressテーマの編集で「functions.php」をいじるよね?
そこで、WordPressの画面が真っ白でエラー表示されて、なにもできなくなる問題はみんな最初のうちに経験します!
あらら!?WordPressの画面が真っ白になっちゃったわ♪
ちょっと!functions.phpファイルを触ってなかった!?
初めてWordPressの画面が真っ白になった時は、「WordPressが壊れた!」ってパニックになったよ・・・。
functions.phpを触る時はバックアップを取りましょう
functions.phpを編集中に変な改行、スペースをいれると、コードエラーでエラー表示されて画面が真っ白になってWordPressが表示されなくなるから、必ずバックアップを取ってから編集しましょう!
functions.phpはテーマの機能の中枢を担っていて、改行・スペースを余分にいれるだけでもエラーでWordPressの画面が真っ白になるので、編集する時は必ず「Terapad」などのテキストエディタにバックアップを取ってから編集しましょう!
バックアップがあればファイルを復元すれば直ります
そんな事は露知らず、「これからガツガツいじって、自分のブログをかっこよくするんだ!」といじって、エラー表示で画面真っ白でWordPressの自分のページが開かずに焦りました(笑)
その時はプラグイン「BackWPup」でバックアップを取っていたため、functions.phpをFTPソフトのffftpで戻して、無事に直りました。
今はバックアッププラグインはより使いやすい「UpdraftPlus」を使っています。
他にもWordPressの画面が真っ白エラーになることはある!functions.phpを触ってないのにWordPressの画面が真っ白で「Cannot modify header information – headers already sent・・・」エラーになる原因
ロリポップのプラン変更をしてモジュール版phpにして、喜んでいたのもつかの間・・・。
今回は、ロリポップのモジュール版phpをONにしただけなのに、同じようにWordPressの画面が真っ白エラーになった!
functions.phpはいじってないけど、WordPressの投稿画面で「更新」を押したら画面が真っ白になったのよ!
モジュール版PHPが、WordPressと競合したのかな?
一応バックアップが手元にあったので、ffftpでfunctions.phpを戻して再度「更新」キーを押下しても、同じくWordPressの画面が真っ白エラーが表示された・・・。
WordPressの画面には「Stinger5 Cannot modify header information – headers already sent・・・」と表示されているので、同じような症状が出ている人がいないか検索したボク。
WordPress画面真っ白のエラー表示と原因を紹介するよ♪
WordPressの画面が真っ白になる原因
基本的にWordPressの画面が真っ白になる原因は
大体このような原因でWordPressの画面が真っ白になり、復旧するにはプラグインを全部停止して原因を探したり、何か直前の作業が手掛かりになります!
基本的には、バックアップからの復元やWordPressテーマのダウングレードなどで、元に戻ります!
UTF-8にはBOMあり・BOMなしの2種類!WoedPressの画面が真っ白になった原因はfunctions.phpがUTF-8N:BOMありだとエラー表示される
英語のページだらけだけどWordPressテーマは関係なく、functions.phpのエラーが関係していることがわかりました。
ただ、日本語の同現象の人は少ないけど、かなりレアなケースであったよ!
このような現象がでた場合は、同じ原因でWordPressエラーが起きている確立が高いです!
WordPressはUTF-8の文字コードが使われている
普段CSSやPHPファイルをいじる時に、今まで「文字コード」なんて全然気にしていなかったけど・・・。
WordPressは「UTF-8」の文字コードが使われていて、UTF-8にはBOMあり・BOMなしの2種類があります!
UTF-8のBOMとは
まず、「BOM」って何?から始まるよね?
バイトオーダーマーク (byte order mark) あるいはバイト順マーク(バイトじゅんマーク)は通称BOM(ボム)といわれる、Unicodeの符号化形式で符号化したテキストの先頭につける数バイトのデータのことである。
このデータを元にUnicodeで符号化されていることおよび符号化の種類の判別に使用する
バイト順マーク
つまり、UTF-8の場合は、16進数表記で先頭に「0xEF 0xBB 0xBF」のコードが書かれていると「BOMあり」になります!
ということで、WordPressが真っ白画面でエラー表示されたのは「BOMあり」でfunctions.phpを保存しているとエラー表示されるってことでした!
functions.phpにBOMが付いているかの確認方法と修正方法
では、実際に「functions.phpにBOMが付いているのかどうか?」を、どのように確認するのか?
BOM付きの確認方法と修正方法を探さないといけなくて、奮闘してました。
BOMって、爆弾よね!いつのまにfunctions.phpにBOMを付けたのかしら?
うむ・・・わからないけど、BOMの確認方法と修正方法を探さないとね!
functions.phpをバイナリエディタで開くことで、BOMが付いているかどうか確認することができます。
バイナリエディタはVectorなどのフリーソフトでダウンロードでき、ボクは「Stirling 」ってソフトで開きました!
functions.phpにBOMが付いているかの確認方法と修正方法を紹介するよ♪
バイナリエディタでBOMが付いているかどうか確認する方法
functions.phpが「BOM付き」か「BOMなし」かをバイナリエディタで確認する方法は
つまり、バイナリエディタで開いたときに「EF BB BF」の文字があればBOM付き、文字がなければBOMなしということになります。
ボクのfunctions.phpは見事に「BOM付き」で、どおりでWordPressの画面が真っ白のエラーがでるわけです・・・。
TeraPadで修正!UTF-8のBOMをBOMなしに修正する方法
原因は「BOMあり」でfunctions.phpが保存されていることだったとわかったけど、どうやって「BOM」を消せれるのか?
functions.phpを「BOMなし」にする修正方法は、テキストエディタでfunctions.phpを開いて「BOMなし=UTF-8N」で保存しなおせばOKです。
テキストエディタならTeraPadでもSublime TextでもOK
UTF-8N形式で保存できるテキストエディタならなんでもいいけど、ボクはTeraPadを使いました。
プログラミングをやる人や、ボクも今となってはSublime Text3を使っています。
テキストエディタは、Vectorなどのフリーソフトでダウンロードできますよ。
TeraPadでBOMなし(UTF-8N)で保存する方法
TeraPadの場合は、UTF-8の保存形式でBOMあり・BOMなしが分かれます。
TeraPadでローカルにダウンロードしたfunctions.phpを開き、ファイル>文字/改行コードを指定保存で「UTF-8N」に指定して、上書き保存すれば「BOMなし」になります。
また、今後の事も考えるのであれば表示>オプション>文字コードで保存文字コードを「UTF-8N」にしておけば、毎回文字コードを指定せずとも「UTF-8N(BOMなし)」で保存してくれます!
あとはFTPソフトでファイルをWordPressのThemaフォルダにアップロードして、既存のfunctions.phpファイルと置き換える・上書きしてやれば修正完了です。
まとめ
WordPressをカスタマイズする時に、functions.phpファイルをイジることは多々あります。
しかし、functions.phpに変な改行やスペースをいれると画面が真っ白になるエラーが発生するので、必ずテキストエディターでバックアップか元ファイルを別の場所に保存しておきましょう!
またバックアップ時に「UTF-8=BOM付き」で保存されていると、ボクのように「白い画面にエラーコード」が表示されるので注意してくださいね!
でも、今まで問題なかったのに、モジュール版PHPにしただけで「BOMあり」になっちゃったの?ロリポップのFTPでファイルをいじったとか?
そういえば最初の頃はロリポップのFTPサーバーでファイルをいじってたな・・・。って、FTPで保存形式が「UTF-8」しかないのが原因か!
今回BOM付きになった原因は、ロリポップのFTPサーバーでfunctions.phpを保存した時に、UTF-8=BOMありになったことでした。
これが原因なのかはっきりわからないけど、これからはCSS・phpをいじってテーマをカスタマイズするのはTeraPadでちゃんとやろうと心に固く誓いました!
たまに面倒でWordPressのテーマ編集で子テーマをいじって表示がおかしくなるならまだいいけど、functions.phpをいじるのは怖いし、もうロリポップ上のFTPでテーマファイルの編集はやらないでおこうと誓った日でした♪
WordPressのメンテナンスモード中に!「現在メンテナンス中のため、しばらくご利用いただけません。」のエラー解除法を徹底解説
WordPressでサイト・ブログを書いている人は、色々なプラグインを入れています。 WordPressプラグインはバグ修正や脆弱性の修正で、よくアップデートがありますね。 プラグインやWordPressのアップデート中は、メンテナンスモードが「有効」になります。 WordPressのメンテナンスモード中に、ついつい他の画面に遷移したりして「現在メンテナンス中のため、しばらくご利用いただけません。」が表示されたことがない? ログインすらできなくなったりしません? WordPressのメンテナンスモード中に ...
WordPressの最大アップロードファイルサイズ変更!「このサイトのアップロードサイズ上限を超えています」と表示された時の変更方法を徹底解説
以前、ブログ・サイトの高速化の一環で、すべてのサイトのPHPバージョンをアップデートしてました。 やっと落ち着いてきたので、新規記事を書いて写真をアップロードしようとしたら、エラーが表示されて画像がアップされない! WordPressで写真をアップロードする時に「このサイトのアップロードサイズ上限を超えています」と表示されたことはない? どんな時に警告表示されて、どう対処したらいいの? あかん!そういえばWordPressのアップロードサイズって、デフォルトは2MBだった! しばらくやってなかったら忘れて ...
ブログのパクリ対策は?実際にコピペで記事内容や画像をパクられたので発見方法、対策法を紹介するよ
以前、ブログやサイトの記事をコピペで丸パクリされたのをまた発見したんですよ。 ブログ・サイトを運営していると、必ず直面するのがブログ記事内容や画像をパクられる問題。 検索順位が上位にいる記事ほど、パクられる・・・。 ボクも何度も画像を無断で使用されたり、記事内容をそのまま丸パクリされましたよ! ブログやサイトをコピペで丸パクリされるとムカつきますよね?てか、どうやって発見するの? ブログのパクリ対策は? ブログ内容を被せられて、自分の記事よりも検索上位にこられると、PV数だけではなく、収益記事なら収益に大 ...