You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何高效在WooCommerce优惠券中排除多个产品ID?

优化方案

可以把需要排除的产品ID集中放到一个数组里,用in_array()函数一次性判断,大幅简化代码,同时后续维护(添加/移除产品ID)也更高效:

add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions( $valid, $product, $coupon, $values ) {
    // 定义禁止使用优惠券的产品ID数组
    $excluded_product_ids = [49134, 49137, 29873, 43181, 49317, 114863, 117949, 120076, 122660, 129323];
    
    // 如果当前产品在排除列表中,将有效性设为false
    if ( in_array( $product->get_id(), $excluded_product_ids ) ) {
        $valid = false;
    }
    
    return $valid;
}

优势说明

  • 易维护:后续新增/移除禁止使用优惠券的产品,只需修改$excluded_product_ids数组即可,无需重复编写if判断
  • 代码简洁:将重复的判断逻辑合并,可读性更高
  • 逻辑一致:保留原代码的核心逻辑,仅优化写法,不会改变原有功能

内容的提问来源于stack exchange,提问作者adem007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 17:32:38