You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

停用WooCommerce才可访问Widgets问题求助

解决WooCommerce后台Widgets区域致命错误:Call to a member function get_cart() on null

错误根源

错误出在Thelma主题的自定义WooCommerce下拉购物车小部件中。当后台加载Widgets页面时,主题小部件直接调用WC()->cart->get_cart(),但此时WooCommerce的购物车对象尚未初始化(WC()->cart为null),触发致命错误。停用WooCommerce后恢复正常,也验证了问题是主题小部件与WooCommerce的初始化逻辑不兼容导致的。

解决方案

1. 直接修复主题小部件代码

找到错误文件:/home/gallovin/public_html/test/wp-content/themes/thelma/framework/modules/woocommerce/widgets/woocommerce-dropdown-cart/woocommerce-dropdown-cart.php,定位到第37行附近,在调用get_cart()前添加检查逻辑:

// 先判断是否为后台页面,后台无需渲染购物车内容
if ( is_admin() ) {
    return;
}

// 检查WooCommerce是否加载且购物车对象存在
if ( ! function_exists('WC') || is_null(WC()->cart) ) {
    return;
}

// 原有的购物车数据获取代码
$cart_items = WC()->cart->get_cart();

修改后保存文件,刷新后台Widgets页面即可恢复正常。

2. 临时禁用问题小部件(无需改代码)

如果暂时不想修改代码,可以快速禁用这个小部件:

  • FTP方式:登录服务器FTP,找到上述小部件文件夹,将woocommerce-dropdown-cart重命名为woocommerce-dropdown-cart-disabled,WordPress会自动停止加载该小部件。
  • 数据库方式:登录phpMyAdmin,找到WordPress数据库的wp_options表(前缀可能不同),搜索widget_mkdf_woocommerce_dropdown_cart选项并删除,即可移除该小部件的侧边栏配置。

3. 长期兼容方案

  • 检查Thelma主题是否有最新版本,主题开发者可能已修复该兼容性问题,更新主题即可解决。
  • 如果主题无更新,联系主题官方支持,提交该错误信息,请求官方发布修复补丁。

内容的提问来源于stack exchange,提问作者Philipp Sidler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:08:19