首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加优惠券后隐藏并刷新WooCommerce结帐

添加优惠券后隐藏并刷新WooCommerce结帐
EN

Stack Overflow用户
提问于 2021-01-14 00:12:54
回答 1查看 403关注 0票数 0

我们想隐藏“有优惠券?加一...”在WooCommerce结账时,如果已经添加了优惠券,或者当客户在结帐页面上添加优惠券时。

目前我们有下面的代码,当顾客在购物车页面上输入优惠券,然后导航到结账页面时,它就会起作用。在这种情况下,“有优惠券?加一...”消息不可见。如果购物车页面上没有添加优惠券,则消息可见。

这工作得很好!但当顾客在结账页面添加优惠券时,它不起作用。

1.)我们得到消息“已添加优惠券”,但添加一个的优惠券消息仍然可见,而且优惠券不会在订单表中计算。页面刷新后的=>表示一切正常。

2.)当顾客在结账时删除优惠券时,我们会得到一条消息,表明优惠券已被删除,但折扣在订单表中仍然可见。=>在页面刷新后,它会再次正确显示所有内容。

因此,现在我正尝试在添加或删除优惠券后刷新页面。但是我很难找到正确的事件。我想我们必须通过js来做这件事?或者有一种PHP方法?

代码语言:javascript
运行
复制
add_filter( 'woocommerce_coupons_enabled', 'woocommerce_coupons_enabled_checkout' );

function woocommerce_coupons_enabled_checkout( $coupons_enabled ) {
  
    global $woocommerce;
    
    if ( ! empty( $woocommerce->cart->applied_coupons ) ) {
        return false;
    }
    return $coupons_enabled;
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-14 00:30:34

你的代码应该是这样的

代码语言:javascript
运行
复制
add_filter( 'woocommerce_coupons_enabled', 'woocommerce_coupons_enabled_checkout' );

function woocommerce_coupons_enabled_checkout( $coupons_enabled ) {
  if(is_checkout()){
    global $woocommerce;
    
    if ( ! empty( $woocommerce->cart->get_applied_coupons() ) ) {
        $coupons_enabled = false;
    }
    }
    return $coupons_enabled;
}

编辑:好的,你需要检查页面是结账还是购物车,然后运行脚本。我已经在代码中添加了条件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65705707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档