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
我怎样才能解决这个问题?
您需要用匿名函数替换它,上述解决方案的问题是匿名函数在其范围内没有 $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