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Легко кастомизируется, не требует установки плагинов, эффективно и быстро.Требует навыков разработки, возможны ошибки при неправильном коде.
Плагины очистки корзиныПростота установки, интерфейс управления, готовые настройки.Дополнительная нагрузка на сайт, возможные конфликты, не всегда точное поведение.
WooCommerce: как автоматически удалять товары из корзины после оплаты
20.05.2026
Как добавить дополнительный тип записей (Custom Post Type) в WordPress без плагинов
19.02.2026
WooCommerce: как автоматически отключить отложенные заказы через код
16.06.2026
Как добавить автоматическое удаление старого контента в WordPress
22.03.2026
Как удалить и заблокировать неиспользуемые посты в WordPress: практическое руководство
12.12.2025
×
-15%
на премиум плагин
Clearfy

Защитите сайт!

Включить Clearfy »