【WordPress】Function create_function() is deprecatedの修正方法

  • 投稿 : 2020-07-15

修正方法

//PHP 5.3+ 以上:
add_action( 'widgets_init', function(){
     register_widget( 'My_Widget' );
});

//PHP 5.2+:
add_action('widgets_init',
     create_function('', 'return register_widget("My_Widget");')
);

WordPress ウィジェット API - WordPress Codex 日本語版

「add_action('widgets_init',」あたりで発生してるのなら、「PHP5.3+以上」と書かれている風に書き換えたらOK。

create_function

この関数は PHP 7.2.0 で 非推奨になります。この関数に頼らないことを強く推奨します。
PHP: create_function - Manual

PHP: 無名関数 - Manual

create_function()ですが、無名関数(クロージャ)に書き換えることができます。preg_replace_callbackなどでもcreate_functionを使われてたりしますが、無名関数に書き換え可能です。上記のマニュアルにもpreg_replace_callbackのサンプルコードが書かれています。

スポンサーリンク