WordPressのPHP内にcreate_functionがあるとバージョン8以上でエラーになる

create_functionとは

create_functionはPHPで匿名関数(無名関数)を作成するための関数です。

PHP 4.0.1で導入され、PHP 7.2.0で非推奨となり、PHP 8.0.0で削除されました。

そのため、PHPのバージョン8以降ではcreate_functionがあるコードはエラーになります。

WordPressでPHPをバージョンアップする際の注意点

最近、WordPressのプラグインでPHPのバージョン8以上のサポートのものが増えてきているため、7から8にアップグレードするケースが増えています。

しかし、前述の通りPHPのバージョン8以上はcreate_functionがあるとエラーになるため、functions.phpやplugins内のPHPで使用されていると以下のようなエラーが表示されるため注意が必要です。

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

有名なプラグインであれば最新バージョンでcreate_functionが使われていることは少ないですが、更新されていないプラグインだと古い関数が使われ続けていることがあります。

もしcreate_functionが使われているプラグインがあったら、使うのをやめるか代替のプラグインを使用することをオススメします。