我最近接手了WordPress网站的开发,该网站发布了“WP\\u Widget()”is deprecated警告。
在搜索了所有相关文件后,我发现了以下代码块,这似乎是罪魁祸首:
/**
* @Agents(s) list widget Class
*/
if ( ! class_exists( \'cs_agentlist\' ) ) {
class cs_agentlist extends WP_Widget {
/**
* Outputs the content of the widget
* @param array $args
* @param array $instance
*/
/**
* @init User list Module
*/
function cs_agentlist() {
$widget_ops = array(\'classname\' => \'widget_agents\', \'description\' => \'Select user to show in widget.\');
$this->WP_Widget(\'cs_agentlist\', \'CS : Agents\', $widget_ops);
}
......
}
基于此,我假设以下行需要更改:
$this->WP_Widget(\'cs_agentlist\', \'CS : Agents\', $widget_ops);
但是,我不完全确定这需要如何改变。我已经
read this 但我对我的下一步行动没有100%的信心。
任何帮助都将不胜感激。
最合适的回答,由SO网友:Hareesh Sivasubramanian 整理而成
用此替换您的代码。此警告是因为PHP4 style constructors are depreciated since WordPress 4.3
/**
* @Agents(s) list widget Class
*/
if ( ! class_exists( \'cs_agentlist\' ) ) {
class cs_agentlist extends WP_Widget {
/**
* Outputs the content of the widget
* @param array $args
* @param array $instance
*/
/**
* @init User list Module
*/
public function __construct() {
$widget_ops = array(\'classname\' => \'widget_agents\', \'description\' => \'Select user to show in widget.\');
parent::__construct(\'cs_agentlist\', \'CS : Agents\', $widget_ops);
}