PHP语法变更致WordPress主题代码报错,如何适配PHP 8.0?
适配PHP 8.0的WordPress小部件注册代码修改方案
问题描述
我多年前制作的WordPress主题中有如下代码:
add_action('widgets_init', create_function('', 'return register_widget("Banners125");'));
这段代码在PHP 7.4下会触发警告,在PHP 8.0下直接报错,需要修改以适配PHP 8.0。
修改方案
直接将原代码中的create_function()替换为PHP匿名函数(闭包)即可,修改后的代码如下:
add_action('widgets_init', function() { register_widget('Banners125'); });
说明
create_function()从PHP 7.2版本开始被标记为废弃,PHP 8.0版本中已被彻底移除,这是原代码报错的核心原因。- 匿名函数是PHP 5.3及以上版本支持的标准语法,逻辑和原代码完全一致,同时兼容PHP 7.0+所有版本,包括PHP 8.x系列。
内容的提问来源于stack exchange,提问作者Nero Deltore
相关产品推荐
相关产品推荐

