我希望只有价格低于100美元的货到付款选项,并在购物车高于100美元时自动隐藏。问题是,我现在有3种不同的付款方式。 Paypal,支票和COD。当一个人买东西,并选择现金的delievry方法,我写了一个描述说“如果你的订单低于100美元,你可以选择COD”。但是有些人忽视它并且仍然选择COD,即使他们的购买价格高于100美元。因此,当购买超过100美元时,我想自动隐藏COD。因此,当购买超过100美元时,只有两个选项,Paypal和Check。 希望我能再澄清一点。
由于
答案 0 :(得分:2)
您可以使用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;
}