在woocommerce中隐藏超过特定金额的订单的货到付款

时间:2014-11-23 22:01:54

标签: php wordpress woocommerce

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

由于

1 个答案:

答案 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;
}