2017-07-11 138 views

回答

1

您可以使用掛鉤的自定義函數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

0

可以在支付條件是如果筐數量超過你選擇的量(例如,15),則支付方法將不會在拍賣顯示指定。

相關問題