服务器与VPS
促销优惠信息

WP_Widget 类的调用构造方法已被弃用!请改用 __construct

出现这个问题是因为,Wordpress从4.3.0开始改变了构造函数的处理方式,请使用标准的__construct()方法。

出现这个错误一般是WP_Widget导致的,

查找主题或插件中,有类似如下代码:

parent::WP_Widget 或 $this->WP_Widget

修改为:

parent::__construct

即可。

可是我们怎么知道错误出现在哪个位置,我们如何修复呢?

在这里大家可以看一下本站前面的文章:

wordpress性能监控插件 Query Monitor 可提升网站速度

发布时间:     阅读(357)

使用这款免费的wordpress监控插件,可以准确给出错误的具体文件和错误所在的位置,我们按图索骥就好

例如:

搜索$this->WP_Widget 会在文件开头看到这样的代码:

<?php class widget_ui_topics extends WP_Widget { public function widget_ui_topics() { $widget_ops = array('classname' => 'widget_ui_topics', 'description' => '显示主题广告(包括富媒体)'); 
$this->WP_Widget('widget_ui_topics', '专题推荐', $widget_ops); } public function widget($args, $instance) { extract($args); $title = apply_filters('widget_name', $instance['title']); $code = $instance['code'];

我们只需要将上述代码修改为这样就可以了:

<?php class widget_ui_topics extends WP_Widget { public function widget_ui_topics() { $widget_ops = array('classname' => 'widget_ui_topics', 'description' => '显示主题广告(包括富媒体)'); 
parent::__construct('widget_ui_topics', '专题推荐', $widget_ops); } public function widget($args, $instance) { extract($args); $title = apply_filters('widget_name', $instance['title']); $code = $instance['code'];

因此,以后小部件定义的构造函数应该是这样的:

class My_Widget extends WP_Widget { 
function __construct() { 
parent::__construct( 
'my-widget', // Base ID 
'My Widget', // Name 
array( 'description' =&amp;gt; 'My Widget description.' ) // Args 
); 
} 
function widget($args, $instance) {

以上

希望大家建站愉快。

楚狂人 » WP_Widget 类的调用构造方法已被弃用!请改用 __construct

相关推荐

  • 暂无文章

评论 抢沙发

  • (必填)
  • (必填)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏