我在购物车页面上方的购物车总计上方添加了2个单选按钮-选项A和选项B。我想在这些按钮发生更改事件时更新购物车总计(选择我们的送货方式时,它会更新总计)。
我创建了一个自定义的WC_Ajax端点。
$(document).on('change','input[name="custom_option"]',
function() {
var data = {
total : 50,
post_data: $('.woocommerce-cart-form').serialize(),
security: wc_cart_params.update_custom_cart_nonce,
//action:'update_custom_cart'
};
$.ajax({
type: 'post',
url : wc_cart_params.wc_ajax_url.toString().replace(
'%%endpoint%%','update_custom_cart' ),
data: data,
dataType: 'html',
success: function( response ) {
$( '.cart_totals' ).replaceWith( response );
// $( document.body ).trigger( 'wc_update_cart' );
}
});
});
这是我的ajax php函数:
public static function update_custom_cart() {
check_ajax_referer( 'update-custom-cart', 'security' );
$cart_subtotal = WC()->session->get( 'cart_totals' );
$cart_subtotal['subtotal'] = '50';
$cart_subtotal['total'] = '50';
$cart_subtotal['cart_contents_total'] = '50';
WC()->session->set( 'cart_totals', $cart_subtotal );
WC()->cart->set_totals( WC()->session->get( 'cart_totals' )
);
woocommerce_cart_totals();
wp_die();
}
这似乎不是正确的解决方案。我还能怎么实现呢?