Кол-во снижения в woocommerce мини-корзине - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь добавить поле количества в миникарту woocommerce. 1. Я добавил это в файл wooocommerce mini-cart.php:

echo apply_filters( 'woocommerce_loop_add_to_cart_link',
                                    sprintf( '<a rel="nofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s add_to_cart_button">%s</a>',
                                        esc_url( $_product->add_to_cart_url() ),
                                        esc_attr( isset( $quantity ) ? $quantity : 1 ),
                                        esc_attr( $product_id ),
                                        esc_attr( $_product->get_sku() ),
                                        esc_attr( isset( $class ) ? $class : 'button' ),
                                        esc_html( $_product->add_to_cart_text() )
                                    ),
                                    $_product );

Добавляет кнопки «плюс» и «минус» вокруг введенного количества.

  1. Когда нажал на кнопку плюс : я просто назвал add-to-cart для этого продукта, так что количество увеличивается на 1. Это работает нормально.

    $(document).on('click', '.woocommerce-mini-cart .plus', function(){
       $(this).closest('form.cart').find('a.add_to_cart_button').click();
    });
    
  2. Выпуск : Когда нажал кнопку минус : я пытаюсь понять, как изменить количество в корзине для этого продукта. Я попытался вызвать ajax, чтобы получить WC () -> cart () и изменить значение в нем, но он возвращает пустой массив.

    $(document).on('click', '.woocommerce-mini-cart .minus', function(){
            var data = {
                'product_id': 1234,
                'action': 'update_cart_qty'
            };
    
    
            jQuery.post('<?php echo admin_url('admin-ajax.php'); ?>', data, function(response) {
                alert('Got this from the server: ' + response);
            });
    });
    
    add_action( 'wp_ajax_update_cart_qty', 'func_update_cart_qty' );
    add_action( 'wp_ajax_nopriv_update_cart_qty', 'func_update_cart_qty' );
    function func_update_cart_qty(){
        print_r(WC()->cart->get_cart()); // <- Empty Array
    }
    

Может кто-нибудь подсказать, как получить эту работу?

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