出现这个问题是因为,Wordpress从4.3.0开始改变了构造函数的处理方式,请使用标准的__construct()方法。
出现这个错误一般是WP_Widget导致的,
查找主题或插件中,有类似如下代码:
parent::WP_Widget 或 $this->WP_Widget
修改为:
parent::__construct
即可。
可是我们怎么知道错误出现在哪个位置,我们如何修复呢?
在这里大家可以看一下本站前面的文章:
wordpress性能监控插件 Query Monitor 可提升网站速度
发布时间: 阅读(439)
使用这款免费的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' =&gt; 'My Widget description.' ) // Args ); } function widget($args, $instance) {
以上
希望大家建站愉快。