如何为create_function修复wordpress网站中已弃用的问题?

时间:2019-09-18 10:24:31

标签: error-handling

public static function registerWidget($widgetName){
    add_action('widgets_init', create_function('', 'return register_widget("'.$widgetName.'");'));

这是我的代码,警告是:

  

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

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您需要将其替换为匿名函数,并且上述解决方案的问题在于匿名函数的作用域中没有$ widgetName。

尝试:

public static function registerWidget($widgetName){
    add_action('widgets_init', function () use ($widgetName) {
        return register_widget($widgetName);
    });
}

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