きむおばプロフィール画像

きむおばです。関東在住の40代の主婦です。 パート・派遣・フリーランスの3足のわらじ中。フリーランスでは、ファイナンシャルプランナーとしてライターやセミナー講師をしたり、サイト制作やプログラムを作ったりしています。
お金・子育て・趣味のこと…何でも気ままに書く雑記ブログです。
目標は、ライター・サイト制作・広告他の収入バランスを整えること。ブログ収入UPに今年は力を入れます。

Menu

WordPressサイトPHPバージョン変更後に「Use of undefined constant」エラーが発生した場合の対応方法

wordpressテーマ作成方法

1年ぐらい放置してしまっていたサイトを久しぶりに確認してみたら、PHPエラーが発生していました。

エラーの内容は、「Notice: Use of undefined constant…」と表示されていたのです。エラーの回避方法についてご紹介します。

Notice: Use of undefined constantエラーとは未定義エラー

WordPress PHP Use of undefined constantエラー発生
上の画像は、PHPのバージョンを5から7へアップグレードした後に、実際にWordPressサイトで表示されていたエラーの内容です。

「Use of undefined constant」エラーとは、「未定義の定数を使用している」場合に発生します。

主な原因としては、関数・変数・定数のスペルミスがある時に、表示されることが多いエラーになります。

該当するテーマ内のindex.phpファイルの36行目を確認してみました。

35 <?php
36    if (function_exists(custom_pagination)) {
37       custom_pagination($wp_query->max_num_pages,"",$paged);
38    }
39 ?>

「Use of undefined constant」エラーを解消するためにチェックしてみたこと

まず最初に、「custom_pagination」という関数名が正しいかどうかを確認してみた

「custom_pagination」という関数は、functions.phpファイル内で作られていて、スペルミスも無し。

function_exists関数の使用方法を確認

次に、PHPマニュアルで、function_exists関数の使い方をチェックしてみました。

すると…function_exists関数の引数はstring型(文字列)となっていましたね…

bool function_exists ( string $function_name )

原因は、function_exists関数の引数であるcustom_paginationをシングルクォーテーションで囲むのを忘れていたことでした…

35 <?php
36    if (function_exists('custom_pagination')) {
37       custom_pagination($wp_query->max_num_pages,"",$paged);
38    }
39 ?>

このPHP関数の文字列の引数をシングルクォーテーションで囲み忘れ、情けないことに何度も繰り返しているミスだったりします。

WordPressの関数を使用する時にはシングルクォーテーションで囲まなくていいから、ついついその調子で囲み忘れてしまうのです。

以前のPHPでは、引数の型をしっかり設定してなくてもエラーが発生しなかったのですが、PHPのバージョンを上げると、判定がシビアになります。

もし、PHPの未定義エラーが消えなくて悩んでいる方は、「’」を忘れてないかチェックしてみてくださいね。

wordpressテーマ作成方法
Twitterで最新情報をお知らせ
記事がお役に立てたらシェアお願いします♪
稼ぐ