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: как автоматически удалять товары из корзины после отмены заказа
17.07.2026
Как использовать WP-CLI для автоматизации управления WordPress
09.03.2026
Как отключить Gutenberg и оставить классический редактор в WordPress: практическое руководство
13.01.2026
Как использовать Hooks в WordPress для начинающих: практические примеры и советы
15.11.2025
Как сделать автоматический откат изменений при ошибках в WordPress
22.02.2026
×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙