wordpress使用__construct()统一构造方法解决同类名错误

WordPress升级PHP7后侧边栏报错,原因是PHP7不再支持与类名相同的构造方法,需改用__construct()。国内主题普遍存在此问题,因未遵循官方规范。修改方法是将旧式构造方法替换为标准写法,如使用parent::__construct()初始化组件,即可解决兼容性问题。

WordPress基础教程
阅读时间: 9 分钟
最后更新时间:2025年11月13日

博客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及以上版本就不会报这个错误了!

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

曾凤祥

曾凤祥

技术负责人
小兽wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为10万多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽wordpress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部