Существует фильтр, который можно использовать для выполнения этого woocommerce_coupon_is_valid_for_product .
Он принимает 4 параметра: действительный, продукт, купон и значения.Он вызывается из class-wc-coupon.php вокруг строки 860 в версии 3 или около того.Он должен возвращать логическое значение ( true / false ).
Обратите внимание, что приведенный ниже код является неполным и непроверенным и предназначен только для примера.
add_filter('woocommerce_coupon_is_valid_for_product', 'exclude_product_from_coupon_by_tag', 12, 4);
function exclude_product_from_coupon_by_tag($valid, $product, $coupon, $values ){
//Check if product has tag/s
$valid = has_term('INSERT_TERM_HERE', 'product_tag');
return $valid;
}
Надеюсь, это поможет!