我需要防止的优惠券,如果客户在他们的车与下列属性方面的任何具体的变型产品中使用:
-
attribute_pa_style => swirly
-
attribute_pa_style => circle
我已经通过了适用于限制特定的产品和特定类别的Woocommerce剧本看了看,但不能与有关属性和所有优惠券看着办吧。
任何帮助表示赞赏。
我需要防止的优惠券,如果客户在他们的车与下列属性方面的任何具体的变型产品中使用:
attribute_pa_style => swirly
attribute_pa_style => circle
我已经通过了适用于限制特定的产品和特定类别的Woocommerce剧本看了看,但不能与有关属性和所有优惠券看着办吧。
任何帮助表示赞赏。
这是可以做到用woocommerce_coupon_is_valid
过滤钩子是这样的:
add_filter( 'woocommerce_coupon_is_valid', 'check_if_coupons_are_valid', 10, 3 );
function check_if_coupons_are_valid( $is_valid, $coupon, $discount ){
// YOUR ATTRIBUTE SETTINGS BELOW:
$taxonomy = 'pa_style';
$term_slugs = array('swirly', 'circle');
// Loop through cart items and check for backordered items
foreach ( WC()->cart->get_cart() as $cart_item ) {
foreach( $cart_item['variation'] as $attribute => $term_slug ) {
if( $attribute === 'attribute_'.$taxonomy && in_array( $term_slug, $term_slugs ) ) {
$is_valid = false; // attribute found, coupons are not valid
break; // Stop and exit from the loop
}
}
}
return $is_valid;
}
代码放在您的活动子主题的function.php文件(或活动主题)。 测试和工程。