Fatal error: Uncaught Error: Call to undefined function create_function()の対応

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

PHPを最新にする際に対応が必要となるエラーの一つ。非推奨の書き方を残しているとバージョンアップの際に関数自体が削除されてしまい、PHP切り替えの時にエラーになることがあります。

PHP 8.0.0 ~にてcreate_function()が使えないことが原因

functions.php
// エラーになる記述(PHP 7.2〜7.4 は Deprecated、PHP 8.0 からは Fatal error)
add_action( 'widgets_init', create_function( '', 'return register_widget( "Sample_Widget_Item" );' ) );

記述を変更することで解決(無名関数)

functions.php
// エラーにならない書き方
add_action('widgets_init', function(){register_widget('Sample_Widget_Item');});

PHPのバージョンを変更する場合は、動かなくなったりする処理があるので要注意です。

PHP 7.2〜7.4 の場合のエラー

Deprecated: Function create_function() is deprecated in

こちらも同様の修正で対応ができます
create_function()は、PHP7.2から非推奨になっています

ログの確認について

WordPress Developer Resources

関連機能

  1. WordPress の robots.txt に p タグや br タグが入るときの直し方:robots_txt フィルターで消す

  2. WordPress W3C(ワールドワイドウェブコンソーシアム)Web標準仕様のチェック方法

  3. PHP 8 で空の文字と 0 の比べ方が変わり、カテゴリーのボタンが消えた:文字と数の比べ方の変更と、テーマの直し方

サイドバー

よく使うカスタマイズ

最近の記事

Profile

PAGE TOP