2 回答
TA贡献1829条经验 获得超4个赞
您可以添加以下代码片段 -
function refresh_checkout_on_payment_methods_change(){
?>
<script type="text/javascript">
(function($){
$( 'form.checkout' ).on( 'change', 'input[name^="shipping_method"]', function() {
$('body').trigger('update_checkout');
});
})(jQuery);
</script>
<?php
}
add_action( 'woocommerce_review_order_before_payment', 'refresh_checkout_on_payment_methods_change' );
TA贡献1993条经验 获得超5个赞
我设法解决了我的问题。$('body').trigger('update_checkout');itzmekhokan 建议的功能不起作用,以便从更新的订单审查中删除额外费用。我必须模拟点击其中一种付款方式单选按钮来触发结帐更新。
对于结帐页面:
function woocommerce_add_update_checkout() {
// Only on checkout page
if( ! is_checkout() ) return;
?>
<script type="text/javascript">
(function($){
$('form.checkout').on( 'change', 'input[name^="shipping_method"]', function() {
document.getElementById("payment_method_bacs").checked = true;
});
})(jQuery);
</script>
<?php
}
add_action( 'wp_footer', 'woocommerce_add_update_checkout' );
对于购物车页面摘要:
function reset_payment_method() {
// Only on cart page
if( ! is_cart() ) return;
$payment_method = WC()->session->get( 'chosen_payment_method' );
if ( $payment_method = 'cod' ) :
WC()->session->set( 'chosen_payment_method', 'bacs' );
endif;
}
add_filter( 'woocommerce_before_shipping_calculator', 'reset_payment_method' );
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报