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

|

Диагностика проблемы: почему стоит ограничить оформление заказа для гостей

В стандартной установке WooCommerce покупатели могут оформить заказ без регистрации (гостевой режим). Это удобно, но в некоторых случаях важно, чтобы заказ могли оформить только зарегистрированные пользователи. Например, для B2B-сайтов, магазинов с индивидуальными скидками, или для точного учета клиентов.

Если на вашем сайте WooCommerce допускает оформление заказа гостями, и вы хотите это изменить, нужно проверить настройки и добавить дополнительную логику.

Проверка текущих настроек WooCommerce

Перейдите в админке WordPress в раздел WooCommerce > Настройки > Аккаунты и конфиденциальность и убедитесь, что отключены опции:

Если эти опции отключены, но оформление заказа все равно доступно гостям, значит, нужны дополнительные меры.

Пошаговое решение: запретить оформление заказа для гостей через код

Для надежного ограничения нужно добавить проверку при попытке оформления заказа. Ниже пример кода, который перенаправит неавторизованных пользователей на страницу входа при попытке перейти к оформлению заказа:

add_action('template_redirect', 'wc_restrict_checkout_to_logged_in_users');
function wc_restrict_checkout_to_logged_in_users() {
    if (is_checkout() && !is_user_logged_in()) {
        wp_safe_redirect(wp_login_url(wc_get_checkout_url()));
        exit;
    }
}

Этот код добавьте в файл functions.php вашей дочерней темы или в кастомный плагин.

Дополнительно: скрыть кнопку «Оформить заказ» для гостей

Можно скрыть кнопку в корзине, чтобы не давать гостям перейти на оформление заказа:

add_filter('woocommerce_cart_needs_checkout_button', 'disable_checkout_button_for_guests');
function disable_checkout_button_for_guests($needs_button) {
    if (!is_user_logged_in()) {
        return false;
    }
    return $needs_button;
}

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

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

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

Сравнение способов ограничения оформления заказа

СпособОписаниеПлюсыМинусы
Настройки WooCommerce Отключение гостевого оформления в настройках Простота, не требует кода Не всегда полностью блокирует обход
Код с редиректом Перенаправление гостей с /checkout/ на страницу входа Гарантированный запрет, гибкость Требуется базовый PHP, возможны конфликты
Плагины для ограничения доступа Использование плагинов типа "Restrict Content" на страницу оформления Дополнительные функции контроля доступа Может замедлять сайт, зависит от плагина
Создаем собственный виджет в WordPress на PHP: подробное руководство
05.11.2025
WooCommerce: как автоматически удалять заказы по определённому статусу
24.05.2026
Как использовать REST API WordPress для запроса пользователей по мета-полям
13.04.2026
Как сделать автоматическое удаление простых категорий в WordPress по условию
05.03.2026
Как автоматически удалять неиспользуемые шорткоды в WordPress
16.02.2026
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙