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

use*_*214 1 php wordpress woocommerce

我希望仅在价格低于 100 美元时提供货到付款选项,并在购物车高于 100 美元时自动隐藏它。问题是,我现在有 3 种不同的付款方式。贝宝、支票和货到付款。当一个人买东西并选择货到付款方式时,我在那里写了一个说明,说“如果您的订单低于 100 美元,您可以选择货到付款”。但有些人忽视了这一点,即使购买金额超过100美元,仍然选择货到付款。所以,当购买金额超过 100 美元时,我想自动隐藏 COD。因此,当购买金额超过 100 美元时,只有两种选择:Paypal 和 Cheque。希望我能再澄清一点。

谢谢

Xci*_*ciD 5

您可以使用该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;
}
Run Code Online (Sandbox Code Playgroud)