WooCommerce严重错误:调用未定义方法WC_Product_Simple::get_variation_price()求助
WooCommerce致命错误修复方案
问题根源
日志显示致命错误:Uncaught Error: Call to undefined method WC_Product_Simple::get_variation_price(),原因是主题scolax的functions.php第28行中,代码错误地给**简单产品(WC_Product_Simple)调用了仅属于变量产品(WC_Product_Variable)**的get_variation_price()方法,直接中断了WooCommerce核心流程,导致价格渲染失败、订单功能瘫痪。
修复步骤
- 定位文件:通过WordPress后台「外观→主题文件编辑器」打开
scolax主题的functions.php,或通过FTP访问路径/home/clients/cbade695f2a03ed1b4e40db5c6bc9ad7/web/wp-content/themes/scolax/functions.php(修改前务必备份文件)。 - 修复代码:找到第28行的
wpnuls_text_before_price函数,添加产品类型判断后再调用get_variation_price(),示例代码如下:
function wpnuls_text_before_price($price_html, $product) { // 仅对变量产品调用get_variation_price方法 if ($product->is_type('variable')) { $variation_price = $product->get_variation_price(); // 保留原有的变量产品价格处理逻辑 } // 其他产品类型直接返回原价格HTML return $price_html; }
- 验证恢复:保存修改后刷新网站前端,检查产品价格是否正常显示,同时查看WooCommerce状态日志是否不再产生新错误;测试创建订单,确认订单功能恢复。
额外提示
- 避免直接修改主题核心文件,建议使用子主题进行自定义修改,防止主题更新丢失修改;
- 如果不确定原函数完整逻辑,可先注释掉调用
get_variation_price()的代码块,先恢复网站运行,再逐步调试。
内容的提问来源于stack exchange,提问作者Geoffrey Servant
相关产品推荐
相关产品推荐

