【发布时间】:2018-05-21 05:53:25
【问题描述】:
我需要禁用 Woocommerce COD 选项并在总价超过一定金额时取消选中它。
我试过这段代码,但什么也没做!
add_filter('woocommerce_available_payment_gateways', 'unsetting_payment_gateway', 10, 1);
function unsetting_payment_gateway( $available_gateways ) {
global $woocommerce;
$shipping_cost = WC()->cart->get_cart_shipping_total();
$amount = $woocommerce->cart->cart_contents_total + $woocommerce->cart->tax_total + $shipping_cost;
$max = 999.9 * WCPBC()->customer->exchange_rate;
if($amount >= $max){ ?>
<script type="text/javascript">
jQuery(document).ready(function ($) {
$("#payment_method_cod").disabled = true;
$("#payment_method_cod").checked = false;
});
</script>
<?php
add_action( 'woocommerce_review_order_before_payment', 'COD_exceed_amount_before_paying_notice' );
}
return $available_gateways;
}
function COD_exceed_amount_before_paying_notice() {
wc_print_notice( __( 'COD amount exceeded!', 'woocommerce' ), 'notice' );
}
【问题讨论】:
-
这不是删除任何支付网关的正确方法。
-
为什么 javascript...满足您的条件时,只需取消设置网关... unset($available_gateways['cod']);我有一篇文章可以更好地解释它 - mingocommerce.com/…
标签: wordpress woocommerce payment-gateway checkout