站点图标 WordPress智库

从WooCommerce优惠券中排除某个产品使其永不打折

WooCommerce可以让我们设置某个优惠券允许哪个或者哪个分类的产品使用,但是无法设置不让某个产品使用。

加入我们有一个已经以成本价销售的产品,如果再允许这个商品使用优惠券,对于这个商品来说,我们肯定是亏本的。WooCommerce 有一个 woocommerce_coupon_is_valid_for_product 过滤器可以帮助我们从优惠券中排除某个产品,让其永不打折。

实现该功能的PHP代码

实现该功能的PHP代码很简单,在 woocommerce_coupon_is_valid_for_product 过滤器的回调中,我们判断一下需要排除的产品ID,和该过滤器提供的产品ID,如果相同,直接返回false即可。

add_filter('woocommerce_coupon_is_valid_for_product', function ($valid, $product, $coupon, $values)
{
    // 这里的12345就是我们不想让打折的产品
    if (12345 == $product->get_id()) {
        $valid = false;
    }

    return $valid;
}, 9999, 4);

基于本文的方法,除了限制某个ID使用优惠券,我们还可以限制某个分类、某个产品类型,具有某个元数据的产品使用优惠券。

退出移动版