因此,我想根据运输方式取消设置一些计费字段,但是除非我重新加载整个结帐页面,否则它不起作用。如何使用 AJAX 重新加载计费字段?
/*
* Remove fields for chosen shipping method
*/
add_filter( 'woocommerce_checkout_fields', 'awoohc_override_checkout_fields' );
function awoohc_override_checkout_fields( $fields ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
if ( 'local_pickup:4' === $chosen_methods[0] ) {
unset( $fields['billing']['billing_address_1'] );
unset( $fields['billing']['billing_address_2'] );
}
return $fields;
}
Run Code Online (Sandbox Code Playgroud) 我想在 woocommerce 结帐页面上添加 300 到订单总数,但 woocommerce_calculate_totals 钩子没有完成这项工作......
如果我使用 var_dump($total),我会看到正确的结果 - int(number),但订单表中的总金额没有改变。
add_action( 'woocommerce_calculate_totals', 'action_cart_calculate_totals', 10, 1 );
function action_cart_calculate_totals( $cart_object) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( !WC()->cart->is_empty() ):
$total = $cart_object->cart_contents_total += 300;
var_dump($total);
endif;
}
Run Code Online (Sandbox Code Playgroud)