<b>Warning</b>: Use of undefined constant is_home - assumed 'is_home' (this will throw an Error in a future version of PHP) in <b>XXXXXXXXXXXXXXXXXXXX(サーバのURL)/XXXX.php</b> on line <b>26</b><br />
という表記が入ってしまうエラーのご相談を頂きました。
今回は、その時に行った対応に関して、自身のメモがてらご紹介させていただきます。
目次
このエラーはどのようなエラーか?
php7.2以降は、クオートしない文字列は、その名前のグローバル定数が定義されていない場合は単なる文字列になってしまう。
といったことが原因にはなります。
単語の意味がわからないと思いますが…すごくざっくり言うと、
- php7.1以前の場合、is_home(今回の場合)などWordPressで利用するコードの書き方が、「is_home」でもOK
- php7.2以降の場合、is_home(今回の場合)などWordPressで利用するコードの書き方が、「’is_home’」じゃないとダメ
ということです。
そのため、phpのバージョンを7.1より前の状態から、7.2以降にアップした時に多く起こります。
また、今回はテーマでのエラーとなっていましたが、古いプラグインでも出る可能性があります。
もしWordPressで出てしまった場合には
プラグインの場合
基本的には、プラグインの制作者さんが修正してくれるのを待つしかありません。
しかし、プラグインでこのエラーが出る場合には、長い事更新されて可能性が多くあります。
そのため、同様の機能を持つプラグインを探し、利用する方が良いかと思います。
テーマの場合
こちらも、基本的には修正を待つ形になります。
ただし、プラグインのように代替えがすぐにできない事が多くなるかと思います。
そのため、今回の例にならい、ご自身で修正する(もしくはプロに依頼をする)というのが良いかと思います。
ただし、今後もテーマのバージョンアップが無いようでしたら、テーマの変更も検討しておくほうが良いかと思います。
エラーへの対処方法
テーマなどのphpファイルを変更する形になります。
そのため、修正を間違えてしまうと、真っ白になってしまう可能性がありますので、苦手な方はプロに依頼をする事をおすすめします。
まずは、エラーコードを確認
<b>Warning</b>: Use of undefined constant is_home - assumed 'is_home' (this will throw an Error in a future version of PHP) in <b>XXXXXXXXXXXXXXXXXXXX(サーバのURL)/XXXX.php</b> on line <b>26</b><br />
このエラーは
Use of undefined constant is_home - assumed 'is_home'
is_homeという箇所が問題
XXXXXXXXXXXXXXXXXXXX(サーバのURL)/XXXX.php</b> on line <b>26</b>
is_homeというのが、XXXXXXXXXXXXXXXXXXXX(サーバのURL)/XXXX.phpの26行目に記載されています。
という内容になっています。
コードの書き換え
対象箇所にある「is_home」を「’is_home’」に変更する。
※実施する際には、必ずバックアップを取ってください。
PHP7.2以降にバージョンアップする際には、注意しましょう
PHPのバージョンアップには、今回のようなエラーが起こってしまう可能性があります。
そのため、WordPressの管理画面で「PHPのバージョンが…」と出ている場合でも、PHPのバージョンアップは慎重に行うようにしましょう。
(基本的に、ご自身でゼロからサイトを作れる方以外は、phpのバージョンアップはおすすめしません。)
特に「作ったのが昔で更新していないサイト」の場合には、エラーが起こりやすくなっています。
今回のようにエラーの箇所を表示してくれるような形式のものならまだしも、状況によっては真っ白になる可能性もあるので、ご注意ください。
投稿者プロフィール
