如何修复 wordpress 站点中 create_function 的弃用问题?

Say*_*tta 4 error-handling

public static function registerWidget($widgetName){
    add_action('widgets_init', create_function('', 'return register_widget("'.$widgetName.'");'));
Run Code Online (Sandbox Code Playgroud)

这是我的代码,警告是:

"Deprecated: Function create_function() is deprecated in xxx.php" on 258 line

我怎样才能解决这个问题?

Car*_*all 8

您需要用匿名函数替换它,上述解决方案的问题是匿名函数在其范围内没有 $widgetName 。

尝试:

public static function registerWidget($widgetName){
    add_action('widgets_init', function () use ($widgetName) {
        return register_widget($widgetName);
    });
}
Run Code Online (Sandbox Code Playgroud)

来源:https : //www.php.net/manual/en/functions.anonymous.php