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

这是我的代码,警告是:



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

最佳答案

您需要将其替换为匿名函数,并且上述解决方案的问题在于该匿名函数的作用域中没有$ 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

09-04 10:31