あるサイトのテーマをいじっていたら
エントリー更新すると画面が真っ白になってしまう現象に出会いました。
解決にけっこう苦労したわりに
「それだけか・・・」
というかんじなので、備忘的にメモしておきます。
新サイトの作成のため、テーマをいじっていたら
エントリーの「更新」ボタンを押すと
画面が真っ白になってしまう。
画面を戻って再度エントリーを読み込むと
変更内容は保存されている。
管理画面の表示でのみおかしくなっている様子。
サーバーはエックスサーバー。
Notice: class-snoopy.php の使用はバージョン 3.0 から非推奨になっています! 代わりに wp-includes/http.php を使ってください。 in /home/xxx/xxxxxx.com/public_html/wp-includes/functions.php on line 2879
Notice: Undefined variable: file in /home/xxx/xxxxxx.com/public_html/wp-content/themes/cutline-22-xxxxx/functions.php on line 214
Notice: Undefined variable: k2loc in /home/xxx/xxxxxx.com/public_html/wp-content/themes/cutline-22-xxxxx/functions.php on line 217
Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! 代わりに プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。 を使ってください。 in /home/xxx/xxxxx.com/public_html/wp-includes/functions.php on line 2923
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/xxxxx.com/public_html/wp-includes/functions.php:2879) in /home/xxx/xxxxxx.com/public_html/wp-includes/pluggable.php on line 876
※エラーメッセージは wp-config.php の define(‘WP_DEBUG’, false); を true に変えると表示することができます。(デバッグモード)
エックスサーバーの php.ini設定をONにする。
テーマは、とある無料テーマをカスタマイズしたオリジナルのもの。
どうもこのテーマを適用した前後でおかしくなってるっぽいので
一度テーマをデフォルトに戻してみると正常に稼働。
テーマが問題になってるっぽい。
しかし同じテーマを使用している他のサイトでは問題なし。
うーん・・・。
ひとまずエラーメッセージで検索してみると
functions.php の記述ミスが原因との記事が多い。
『スクリプトに余分な空白文字・改行があることが原因。
それを削除すれば解決する。』
という記述が多いが、
functions.php も他のサイトと同じものなので原因の可能性は薄い。
が、念のため削除して試してみると正常に稼働する。
fuctions.php で引っかかっているのは間違いなさそうです。
が、原因の箇所を特定できず・・・。
困り果てて検索を続けていると、こんなエントリーを発見。
→PHP:Warning: Cannot modify header information – headers already sent by …の解決策
どうやら php.ini が原因とのこと。
「php.ini って、どうやって設定するんだ?」
と思ってエックスサーバーの管理画面をのぞいてみると
php.ini がOFFになってました・・・。
こいつをONにすると解決しました。
ちなみに同テーマ使用の他サイトは、ONになってました・・・。
エックスサーバー以外のサーバーを使用している方も
一度 php.in を確認してみてください。
ちなみにこのドメイン、
.htaccessを更新するとPHPが非推奨バージョンに戻ってしまう
という不可解な現象も発生しています。
使わないほうがいいのかな・・・?
(追記)解決しました!
→エックスサーバーで.htaccessを更新すると、PHPのバージョンが戻ってしまう。