Верх страницы
Обложка к записи Оповещение «Товар добавлен в корзину» в WooCommerce
Время для прочтения: 0 мин. 32 сек.

Оповещение «Товар добавлен в корзину» в WooCommerce

Предлагаю вашему вниманию простой сниппет для WooCommerce, который выводит оповещение о том, что товар добавлен в корзину при клике на кнопку покупки.

Снппет можно добавить в любой имеющийся у вас в дочерней теме скрипт:

jQuery( function( $ ) {
    // Цепляемся за событие adding_to_cart
    $( document.body ).on( 'adding_to_cart', function( event, button ) {
        // Выцепляем инициатора события (ссылка/кнопка)
        var $btn = $( button[0] );

        // Пытаемся найти в вёрстке название товара
        var product_title = $btn.parents( 'li.product' ).find( '.woocommerce-loop-product__title' ).text();

        if ( product_title ) {
            // Формируем шаблон попапа
            var tpl = '';
            tpl += '<p>Товар "' + product_title + '" добавлен в корзину</p>';
            tpl += '<div>';
            tpl += '<a class="button" onclick="jQuery.unblockUI();">Продолжить</a>';
            tpl += '<a href="/shop/cart/" class="button alt">Оформить</a>';
            tpl += '</div>';

            // Выводим шаблон в модальное окно.
            // Используем blockUI из WooCommerce
            $.blockUI({
                message: tpl,
                timeout: 4000,
                css: {
                    width: '300px',
                    border: 0,
                    padding: 30
                }
            } );
        }
    } );
} );

Также этот сниппет можно вставить на страницу при помощи хука wp_footer внутри файла functions.php вашей активной темы:

add_action(
    'wp_footer',
    function() {
        ?>
        <script>тут сниппет из примера выше</script>
        <?php
    }
);

Стили модального окна можно настроить по вашему вкусу, например в кастомайзере самого WordPress.

ВКонтакте
Одноклассники
Telegram

Комментарии
Подписаться
Уведомить о
guest
11 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Elena Korobova
1 год назад

А как сделать так, чтобы это модальное окно не исчезало, перенаправляясь в корзину, а дожидалось реакции пользователя?

Олег
Олег
1 год назад

Михаил, а как вообще удалить это сообщение? Ищу в интренете, все ссылаются на вкладку «Уведомления магазина» в настройках, но не могу её найти

сергей
сергей
1 год назад

как сделать, что бы сообщение выводилось не во всплывающем модальном окне, а на самой странице в Категории товаров?

Владислав Годунов
1 год назад

Правильнее будет цепляться за событие added_to_cart. Ведь adding, это всего лишь процесс добавления, об успешности он нам ничего не говорит. Параметры для события будут следующими:

$(document.body).on(
    'added_to_cart',
    function(event, fragments, cash, button) {}
);
Руслан
Руслан
11 месяцев назад

а почему появляется колесо прокрутки пока окно открыто? какие то скрипты не успевают подгружаться?

Светлана
Светлана
4 месяцев назад
Ответить на  Кобзарёв Михаил

У меня тоже колесо прокрутки, не могу понять в чем дело