更改购物车页面上的自定义单选按钮后,如何在WooCommerce中更新购物车总数?

时间:2018-09-24 13:50:22

标签: php wordpress woocommerce

我在购物车页面上方的购物车总计上方添加了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(); 
}

这似乎不是正确的解决方案。我还能怎么实现呢?

0 个答案:

没有答案