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

WooCommerce购物车优惠券字段移除/隐藏问题(保留自动折扣显示)

解决方案:隐藏购物车优惠券字段但保留自动折扣功能

我懂你现在的痛点——网上很多方法直接禁用优惠券功能,结果连自动应用的折扣都看不到,用户肯定懵。给你几个精准的方案,既能藏起输入字段,又不影响自动折扣的展示:

方法1:CSS视觉隐藏(最简单快捷)

这个方法只在视觉上隐藏优惠券输入区域,完全不碰功能逻辑,自动折扣该显示还是显示。你只需要把下面的代码加到主题的自定义CSS(WordPress后台「外观」→「自定义」→「额外CSS」)、子主题的style.css里就行:

/* 隐藏购物车页面的优惠券输入表单 */
.woocommerce-cart .woocommerce-coupon-form {
    display: none !important;
}

优点:零风险,不用改PHP代码,刷新页面就生效,自动折扣的展示完全不受影响。

方法2:钩子精准移除(不加载字段HTML)

如果你不想让优惠券字段的HTML代码出现在页面里(更彻底),可以用WooCommerce的钩子移除表单渲染,同时保留优惠券核心功能。把这段代码加到子主题的functions.php里:

// 移除购物车页面的优惠券表单,保留自动优惠券功能
add_action( 'woocommerce_before_cart', 'remove_cart_coupon_form', 1 );
function remove_cart_coupon_form() {
    // 移除默认的优惠券表单渲染动作
    remove_action( 'woocommerce_before_cart', 'woocommerce_cart_coupon', 10 );
}

说明:这个操作只是把购物车页面的优惠券输入框去掉了,自动优惠券的应用逻辑、折扣信息的展示都正常运行,不会给用户造成困惑。

方法3:适配自定义主题的钩子移除

如果你的主题没有用WooCommerce默认的钩子放置优惠券表单,你需要先找到主题用的钩子。比如有些主题会把优惠券表单放在购物车侧边栏,用woocommerce_cart_collaterals钩子,那代码就改成这样:

add_action( 'wp', 'remove_custom_cart_coupon_form' );
function remove_custom_cart_coupon_form() {
    // 只在购物车页面执行
    if ( is_cart() ) {
        // 替换成你主题实际用的钩子和优先级
        remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_coupon', 10 );
    }
}

怎么找钩子?可以查看主题的cart.php模板文件,找到优惠券表单对应的do_action调用就行。

注意事项

  • 优先用子主题修改functions.php,避免主题更新后代码丢失;
  • 改代码前最好备份一下站点,或者在测试环境先试;
  • 测试的时候记得加个自动优惠券,看看购物车的折扣信息是否正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:52:27