博客wordpress说在的环境升级到php7以后侧边栏出现了错误,打开wordpress调试模式及php错误提示以后后,发现给出了如下提示:Deprecated: Methods with the same name as their class will not be constructors in a futur…

博客wordpress说在的环境升级到php7以后侧边栏出现了错误,打开wordpress调试模式及php错误提示以后后,发现给出了如下提示:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Translation_Entry has a deprecated constructor in XXX.php on line 73

这个报错的原因是 PHP7 不再支持与类名相同的构造方法,构造方法统一使用 __construct(), 比如下面的写法 PHP7 就会报这个错误。

function widget_ui_login() {$widget_ops = array( 'classname' => 'widget-user', 'description' => '显示登录信息' );$this->WP_Widget( 'widget_ui_login', 'Xiaoyao-登录', $widget_ops, $control_ops );}

实际上wordpress官方早已经说明不要使用这种方法早在很久以前,wordpress官方主题以及系统中使用了适应php7的标准写法,但是国内很多主题开发者均没有按照要求修改!为了决这个问题,对代码不是太熟悉的逍遥一直在找解决办法,结果发现国内几乎所有的主题基本都有这个问题,很明显都是抄抄抄的!

function __construct(){parent::__construct( 'widget_ui_login', 'Xiaoyao-登录', array(  'classname' => 'widget-user', 'description' => '显示登录信息' ) );}

通过php标准写法,修改后,php7及以上版本就不会报这个错误了!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。