激活WordPress插件时出现create_function()未定义错误求助
问题解决方案
错误原因
create_function() 函数在PHP 7.2及以上版本已被移除,这是激活插件时触发致命错误的核心原因。
代码改写方案
将原代码:
$func = create_function( '', 'global $woocommerce_product_options_order_option_group; $woocommerce_product_options_order_option_group->print_order_options( "' . $location . '"); return;' ); }; add_action( $location, $func );
替换为以下PHP匿名函数写法:
$func = function() use ($location) { global $woocommerce_product_options_order_option_group; $woocommerce_product_options_order_option_group->print_order_options( $location ); }; add_action( $location, $func );
改写说明
- 用PHP官方推荐的匿名函数替代已废弃的
create_function(),适配PHP 7.2+版本 - 通过
use ($location)将外部变量$location引入匿名函数作用域,避免原代码字符串拼接的转义问题 - 移除冗余的
return;语句,简化代码逻辑 - 修正原代码中
"的转义错误,直接使用变量即可实现参数传递
内容的提问来源于stack exchange,提问作者Meena Arya
相关产品推荐
相关产品推荐

