根据产品属性条款有条件地应用 WooCommerce 优惠券

Applying a WooCommerce coupon conditionally based on product attribute terms

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

在我的例子中,我的目标是产品属性 "finish" 设置为 "Classic Frame" 或 "Box Frame" 术语的产品变体。

我尝试使用 "" 答案代码,当产品变体设置了产品属性 "finish" 时,它确实会使优惠券无效"Classic Frame" 或 "Box Frame" 项。

但这也会使优惠券对添加到购物车的任何其他商品无效

例如,如果购物车中有 3 件商品:

所以我想要的是优惠券折扣只适用于其他商品。

非常感谢任何帮助。

"" 答案代码的目的是使优惠券无效如果有任何产品变体为 'Finish' 产品属性(变体)设置了 'Classic Frame' 或 'Box Frame' 术语。

是的,它会使优惠券无效,即使其他物品没有它也是如此,这是正确的行为

Why?

  • Because (global cart) coupons with a "Percentage discount" or a "Fixed cart discount" don't allow to be applied only to some cart items meaning some product variations and not to others, when using $is_valid property.

  • Same thing if you use the "exclude product IDS" coupon property, as it doesn't handle product variation IDs.

也许存在扩展优惠券可能性的商业插件,允许将产品变体 IDS(添加可用的过滤器挂钩)排除到该扩展功能。