禁用WooCommerce付款方式是否达到购物车商品数量限制

问题描述:

如果购物车数量增加超过“X件商品”示例“15”,是否有禁用选择性付款方式的方式或过滤器?禁用WooCommerce付款方式是否达到购物车商品数量限制

我知道我们可以在添加到购物车之前限制数量的最大数量,但我只想禁用一些付款方式。

由于

您可以使用挂钩的自定义函数woocommerce_available_payment_gateways筛选器挂钩。您将不得不在其内部设置数量限制和付款方式。

这里是代码:

add_filter('woocommerce_available_payment_gateways', 'unsetting_payment_gateway', 10, 1); 
function unsetting_payment_gateway($available_gateways) { 

    // HERE Define the limit of quantity item 
    $qty_limit = 15; 
    $limit_reached = false; 

    // Iterating through each items in cart 
    foreach(WC()->cart->get_cart() as $cart_item){ 
     if($cart_item['quantity'] > $qty_limit){ 
      $limit_reached = true; 
      break; 
     } 
    } 
    if($limit_reached){ 
     // HERE set the slug of your payment method 
     unset($available_gateways['cod']); 
     unset($available_gateways['bacs']); 
    } 
    return $available_gateways; 
} 

代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。

此代码已经过测试,适用于WooCommerce版本2.6和3+。

+0

非常好。它为我工作。谢谢:) – Stunomatic

+0

是否可以通过$ qty_limit中的“自定义字段?”以便我可以更改每个产品的限制?我创建了上述功能,但我认为我的逻辑不好。 { //获取循环 全球$职位的现任职务; //调用后最大限购ACF领域 $ qty_limit = the_field( 'max_purchase_limit',$后> ID);} 或 – Stunomatic

+0

它可以定义为类别明智的如果类别,然后限制“5”如果类别6然后限制“10”。这是可能的代码? – Stunomatic

可以在支付条件是如果筐数量超过你选择的量(例如,15),则支付方法将不会在拍卖显示指定。