@zebrr
Любитель спрашивать

Товар не добавляется в корзину woocommerce. Как решить?

Приветствую!
При добавлении товара в корзину со страницы товара выдаёт такую ошибку:
Uncaught TypeError: Cannot read property 'msg' of null
    at Object.success (wacp-frontend.min.js?ver=1.1.0:8)

Вот содержание wacp-frontend.js с блока single product:
/*######################################
     ADD TO CART AJAX IN SINGLE PRODUCT PAGE
    ########################################*/

    var form_cart_single = $( yith_wacp.form_selectors );

    form_cart_single.on( 'submit', function( ev ) {

        if( typeof wc_cart_fragments_params === 'undefined' || ! yith_wacp.enable_single ) {
            return;
        }

        var $supports_html5_storage,
            $private = false,
            t = $(this),
            button = t.find( 'button[type="submit"]'),
            exclude = t.find( 'input[name="yith-wacp-is-excluded"]' );

        try {
            $supports_html5_storage = ( 'sessionStorage' in window && window.sessionStorage !== null );

            window.sessionStorage.setItem( 'wc', 'test' );
            window.sessionStorage.removeItem( 'wc' );
        } catch( err ) {
            $supports_html5_storage = false;
            if ( err.code == DOMException.QUOTA_EXCEEDED_ERR && window.sessionStorage.length == 0) {
                $private = true
            }
        }

        // check if exluded
        if( exclude.length || $private )
            return;

        ev.preventDefault();

        $(document).trigger( 'yith_wacp_adding_cart_single' );

        button.addClass('loading')
            .removeClass('added');

        var form = t.serializeArray();

        // add action
        form.push({ name: "action", value: yith_wacp.actionadd }, { name: "context", value: "frontend" } );

        $.ajax({
            url: yith_wacp.ajaxurl.toString().replace( '%%endpoint%%', yith_wacp.actionadd ),
            data: $.param( form ),
            dataType: 'json',
            type: 'POST',
            success: function( res ) {
                // add error notice
                if( res.msg ) {

                    // add mess and scroll to Top
                    t.parents( 'div.product' ).before( res.msg );
                    $('body').animate({
                        scrollTop: 0
                    }, 500);

                    // reset button
                    button.removeAttr( 'disabled')
                        .removeClass( 'loading');

                    return false;
                }

                // refresh fragments
                var $ajax_url,
                    $data_ajax = {
                        product_id: res.prod_id,
                        variation_id: res.variation_id,
                        ywacp_is_single: 'yes',
                        context: 'frontend'
                    };

                /** Support wc 2.3.x **/
                if( typeof wc_cart_fragments_params.wc_ajax_url !== 'undefined' ) {
                    $ajax_url = wc_cart_fragments_params.wc_ajax_url.toString().replace('%%endpoint%%', 'get_refreshed_fragments');
                }
                else {
                    $ajax_url = wc_cart_fragments_params.ajax_url;
                    $data_ajax.action = 'woocommerce_get_refreshed_fragments';
                }

                $.ajax({
                    url: $ajax_url,
                    type: 'POST',
                    data: $data_ajax,
                    success: function( data ) {
                        if ( data && data.fragments ) {

                            $.each( data.fragments, function( key, value ) {
                                $( key ).replaceWith( value );
                            });

                            if ( $supports_html5_storage ) {
                                sessionStorage.setItem( wc_cart_fragments_params.fragment_name, JSON.stringify( data.fragments ) );
                                sessionStorage.setItem( 'wc_cart_hash', data.cart_hash );
                            }

                            $( 'body' ).trigger( 'wc_fragments_refreshed' )
                                .trigger( 'wacp_single_added_to_cart' );

                            // remove disabled from submit button
                            button.removeAttr( 'disabled')
                                .removeClass( 'loading')
                                .addClass('added');
                        }
                    }
                });
            }
        });
    });


    $(document).on( 'yith_wacp_popup_after_opening yith_wacp_popup_changed', function() {
        if( typeof $.yith_wccl != 'undefined' && typeof $.fn.wc_variation_form != 'undefined' ) {
            // not initialized
            $(document).find( '.variations_form:not(.initialized)' ).each( function() {
                $(this).wc_variation_form();
            });
            $.yith_wccl();
        }
    });

});


Подскажите, в чём проблема и как её решить
  • Вопрос задан
  • 492 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы