首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于产品属性项有条件地应用WooCommerce优惠券

问基于产品属性项有条件地应用WooCommerce优惠券
EN

Stack Overflow用户
提问于 2019-09-12 15:08:11
回答 2查看 1.4K关注 0票数 3

我试图从优惠券折扣中排除一些具有特定产品属性的产品变体。

在我的例子中,我的目标产品变体有一个产品属性"finish“设置为”经典框架“或”框框架“术语。

我尝试使用"https://stackoverflow.com/questions/54297527/exclude-variations-with-2-specific-attribute-terms-from-coupon-usage-in-woocomme/54310492#54310492“回答代码,当产品变体将产品属性"finish”设置为“经典框架”或"Box Frame“时,它确实会使优惠券无效。

但是,它也使得添加到cart中的任何其他项目的优惠券无效。

因此,例如,如果购物车中有3项:

  • 项目1:属性“经典帧”==>优惠券对此项目无效吗?
  • 项目2:属性"Box Frame“的==>优惠券对此项目无效
  • 第3项:属性“松散”的==>优惠券对此项目有效吗?

因此,我想要的是,优惠券只适用于其他项目。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-12 17:14:15

"https://stackoverflow.com/questions/54297527/exclude-variations-with-2-specific-attribute-terms-from-coupon-usage-in-woocomme/54310492#54310492“回答代码的目的是,如果有”经典框架“或”框帧“项设置为”Finish“产品属性(用于变体)的任何产品变体,则使优惠券无效。

是的,它使优惠券无效,即使没有它的其他项目,它是正确的行为。

为什么?

  • 因为带有“百分比折扣”或“固定购物车折扣”的(全局购物车)优惠券不允许仅应用于某些购物车项目(),这意味着在使用$is_valid属性时,某些产品的变化并不适用于其他产品。
  • 如果使用“排除产品IDS"优惠券属性,则使用,因为它不处理产品变化it 。

可能存在一个商业插件,它扩展了优惠券的可能性,允许将产品变体IDS (添加一个可用的过滤器钩子)排除在扩展功能之外。

票数 3
EN

Stack Overflow用户

发布于 2022-08-22 22:07:59

您可以使用此过滤器。

代码语言:javascript
复制
function filter_woocommerce_coupon_get_discount_amount( $discounting_amount, $price_to_discount , $cart_item, $single, $coupon ) {    
    // On backorder
    if ( $cart_item['data']->get_attribute('attribute') !== 'attribute_value' ) {
        $discounting_amount = 0;
    }
    return $discounting_amount;
}
add_filter( 'woocommerce_coupon_get_discount_amount', 'filter_woocommerce_coupon_get_discount_amount', 10, 5 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57909685

复制
相关文章

相似问题

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