WooCommerce: как автоматически удалять товар из корзины после оплаты

|

Диагностика проблемы: почему товары остаются в корзине после оплаты

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

Основные причины:

Пошаговое решение: как принудительно очищать корзину после успешной оплаты

1. Проверка кеширования

Отключите кеширование страниц корзины и оформления заказа на уровне плагинов кеширования (например, WP Super Cache, W3 Total Cache) или на уровне сервера (например, Varnish). Это позволит WC обновлять состояние корзины корректно.

2. Добавление хука для очистки корзины

В functions.php вашей темы или в кастомном плагине добавьте следующий код, который гарантирует удаление товаров из корзины сразу после успешного завершения заказа:

add_action('woocommerce_thankyou', 'custom_clear_cart_after_payment', 10, 1);
function custom_clear_cart_after_payment($order_id) {
    if (!$order_id) {
        return;
    }
    $order = wc_get_order($order_id);
    if ($order && $order->has_status('completed')) {
        WC()->cart->empty_cart();
    }
}

Объяснение:

3. Обработка других статусов оплаты

Если у вас есть другие статусы, например processing, при которых нужно очищать корзину, расширьте условие:

if ($order && in_array($order->get_status(), ['processing', 'completed'])) {
    WC()->cart->empty_cart();
}

Проверка результата после внедрения

Тестируйте на тестовом заказе:

  1. Добавьте товар в корзину.
  2. Перейдите к оплате и оформите заказ с тестовым платежом (например, через Sandbox режим PayPal).
  3. После успешного завершения заказа и перенаправления на страницу благодарности корзина должна быть пустой.
  4. Если корзина не очищается, проверьте кеширование и консоль браузера на ошибки JavaScript.

Частые ошибки и как их исправить

Практические советы по безопасности и производительности

Сравнение решений: плагин vs код

РешениеПлюсыМинусы
Код в functions.phpЛегко кастомизируется, не требует установки плагинов, эффективно и быстро.Требует навыков разработки, возможны ошибки при неправильном коде.
Плагины очистки корзиныПростота установки, интерфейс управления, готовые настройки.Дополнительная нагрузка на сайт, возможные конфликты, не всегда точное поведение.
Как сделать автоматический откат изменений при ошибках в WordPress
22.02.2026
Как сделать автоматический редирект с удалением WWW в WordPress
13.03.2026
Как изменить URL пользовательского профиля в WordPress без потери SEO
09.02.2026
Создаем собственный виджет в WordPress на PHP: подробное руководство
05.11.2025
WooCommerce: как автоматически удалять товары из корзины после оплаты
20.05.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше