- 動画の再生速度を3倍4倍にするChromeの拡張機能をYouTubeに使ってみる
WordPressで「Warning: Use of undefined constant」の対処法!
WordPressで「Warning: Use of undefined constant」の対処法!
この記事は公開から1年以上経過しています。
こんにちは、クリエイターのSHOJIです。
今回もまたWorPressに関する知人からの問い合わせネタですが、なかなか興味深かったのでご紹介させていただきますね。
「WordPressの管理画面で『Warning: Use of undefined constant ture - assumed 'ture'(this will throw an Error in a future version of PHP) in /●●/functions.php on line 43』と表示が出ているけど何なの?」という問い合わせをもらいました。
詳しく内容を聞いてみると、PHP5.6からPHP7.4にバージョンアップした後にWordPressの投稿画面で警告が表示されていることに気が付いたとのこと。
エラーメッセージの内容としては、
「Use of undefined constant ture」→「『ture』という未定義の定数が使われています」
「assumed 'ture'」→「『'ture'』と書き換えると解決できそうです」
「in /●●/functions.php on line 43」→「functions.php 43行目の記述です」
といった感じで、親切に警告してくれています。
PHP7.2以降でクオートされてない文字列が非推奨となったため、バージョンアップのタイミングで警告が表示されたものと推測されます。
「functions.php内の記述を『'ture'』と書き換えたら警告表示が消えました、良かった!」
そもそもの原因は?
ちょっと待ってください、ここで解決したと思ってはいけません!今回の根本的原因は「クオートされてない文字列」ではなく、単純明快な「記述間違い」にあります。
そもそも「ture」って何?って感じだったので、それに関連する記述を教えてもらったところ、
ありました「ture」!
どうやら、WordPressの投稿で「自動挿入されるpタグを挿入させない」方法をネットで検索して、該当するコードをfunctions.phpにコピペしていた様子。本来であれば「true」と記述するところに「ture」と記述されているのに気が付かずそのままコピペしてしまったんですね。
当然「ture」という定数はないため、「『ture』って文字列なんですか?文字列ならクオートしてくださいね」って親切にエラーメッセージを表示してくれてたわけです。
まとめ
今回の注意点としては以下のことが考えられます。
①文字列にはシングルクォーテーションで囲むこと
②記述間違いに気を付けること
③ネットで紹介されている内容には注意し、使用する際は十分確認すること
特に③に関しては、同じ内容の紹介サイトをいくつも確認して全て同様の記述だったためそのままコピペしてしまったとのことなので、もしかすると「ture」と記述している紹介サイトがいくつも存在しているのかもしれませんね。
そのため、たとえ間違った記述をしてあるコードをコピペしたとしても「簡単な記述間違い」には気付けるようにしないといけません。
みなさんの中にも同じようなエラーメッセージが表示されている方がおられるかもしれないので、心当たりのある方はぜひ一度ご確認してみてください!
[Webの豆知識]関連記事
Service
Contact
インフォコネクトに相談してみませんか?
経営コンサルティングからITサービス活用支援、ホームページ制作などに関するご依頼や、ご質問・ご相談など、なんでもお気軽にお問い合わせください。