Как обновить итоги корзины в WooCommerce при смене пользовательских переключателей на странице корзины? - PullRequest
0 голосов
/ 24 сентября 2018

Я добавил 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' );

        }
    }); 
});

Вот моя PHP-функция ajax:

 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(); 
}

Это неправильное решение.Как еще я могу это реализовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...