2014-11-23 98 views
0

我希望只在100美元以下的價格上有貨到付款選項,並且當購物車超過100美元時自動將其隱藏。問題是,我現在有3種不同的付款方式。貝寶,支票和COD。當一個人買東西,並選擇現金的方式,我寫了一個描述說:「如果您的訂單低於100 $,您可以選擇COD」。但有些人忽視它,即使購買超過100美元,仍然選擇COD。所以,當購買超過100美元時,我想自動隱藏COD。因此,當購買價格高於100美元時,只會有兩種選擇,貝寶和支票。 希望我能澄清一點。在woocommerce上隱藏一定金額的訂單時發送的訂單上的現金

感謝

回答

1

可以使用woocommerce_available_payment_gateways鉤編輯woocommerce網關。

add_filter('woocommerce_available_payment_gateways' , 'change_payment_gateway', 20, 1); 

/** 
* remove cod gateway if cart total > 100 
* @param $gateways 
* @return mixed 
*/ 
function change_payment_gateway($gateways){ 
    // Compare cart subtotal (without shipment fees) 
    if(WC()->cart->subtotal > 100){ 
     // then unset the 'cod' key (cod is the unique id of COD Gateway) 
     unset($gateways['cod']); 
    } 
    return $gateways; 
} 
+0

可以使用更多解釋 – 2014-11-23 23:23:51

+0

@XcID很好,它確實做了伎倆。我將這段代碼添加到我的主題的function.php文件中,並且像魅力一樣工作。非常感謝。 – user3858214 2014-11-25 05:46:34

+0

不要忘記檢查答案 – XciD 2014-11-25 07:19:26