Как установить ограничение на регистрацию в WordPress по домену email

В некоторых случаях владельцам сайтов на WordPress нужно ограничить регистрацию новых пользователей только определёнными доменами электронной почты. Это актуально для корпоративных порталов, закрытых сообществ и образовательных платформ, где нужно допускать пользователей с корпоративных или учебных почтовых адресов.

Почему важно ограничивать регистрацию по домену email

Ограничение по домену email помогает предотвратить спам-регистрации и автоматически отсеять нежелательных пользователей. Например, если вы хотите принимать только сотрудников компании с почтой @example.com, то можно запретить регистрацию с других доменов.

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

Как реализовать ограничение регистрации по домену email в WordPress кодом

Для этого нам нужно использовать хук registration_errors, который вызывается при попытке регистрации пользователя. В функции мы проверим домен email и, если он не совпадает с разрешённым, добавим ошибку.

function wp24_restrict_registration_by_email_domain($errors, $sanitized_user_login, $user_email) {
    $allowed_domains = array('example.com', 'wp24.ru'); // список разрешённых доменов
    $email_domain = substr(strrchr($user_email, '@'), 1);
    if (!in_array($email_domain, $allowed_domains)) {
        $errors->add('domain_not_allowed', __('Регистрация с домена "' . esc_html($email_domain) . '" запрещена. Используйте корпоративный email.'));
    }
    return $errors;
}
add_filter('registration_errors', 'wp24_restrict_registration_by_email_domain', 10, 3);

В этом примере разрешены только email с доменами example.com и wp24.ru. Если регистрация проходит с другого домена, пользователь увидит ошибку и не сможет зарегистрироваться.

Вы можете расширить список доменов или сделать проверку более гибкой — например, разрешить все поддомены определённого домена или использовать регулярные выражения.

Расширение проверки на поддомены

Если хотите разрешить, например, любой поддомен company.com (sub1.company.com, hr.company.com и т.д.), можно немного изменить код:

function wp24_restrict_registration_by_email_domain_subdomains($errors, $sanitized_user_login, $user_email) {
    $allowed_domain = 'company.com';
    $email_domain = substr(strrchr($user_email, '@'), 1);
    if ($email_domain !== $allowed_domain && !preg_match('/\.' . preg_quote($allowed_domain, '/') . '$/', $email_domain)) {
        $errors->add('domain_not_allowed', __('Регистрация с домена "' . esc_html($email_domain) . '" запрещена. Используйте email с домена ' . $allowed_domain));
    }
    return $errors;
}
add_filter('registration_errors', 'wp24_restrict_registration_by_email_domain_subdomains', 10, 3);

Пример использования плагина Clearfy Pro для ограничения регистрации

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

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

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

Как тестировать ограничение регистрации

После добавления кода или настройки плагина обязательно протестируйте регистрацию с разными почтовыми доменами:

  • Попробуйте зарегистрироваться с разрешённым доменом — регистрация должна пройти успешно.
  • Попробуйте зарегистрироваться с запрещённым доменом — должна появиться ошибка.
  • Проверьте, что сообщение об ошибке информативно и понятно для пользователя.

Для удобства тестирования можно использовать гостевые сессии браузера или разные браузеры, чтобы избежать проблем с кэшем и сессиями.

Выводы и рекомендации по ограничению регистрации

Ограничение регистрации по домену email — эффективный способ управлять пользователями и защитить сайт от спама. Использование собственного кода позволяет гибко настраивать правила, а интеграция с плагинами вроде Clearfy Pro упрощает задачу без программирования.

Помните, что если вы используете сторонние плагины для регистрации (например, WooCommerce, Ultimate Member или другие), проверку нужно будет интегрировать с их механизмами регистрации.

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

Как запретить регистрацию в WordPress без плагинов
25.01.2026
Как добавить поддержку WebP в WordPress без плагинов
29.03.2026
Как настроить отложенный запуск задач в WordPress без использования WP-Cron
05.02.2026
Как удалить или отключить кэширование в WordPress без плагинов
13.01.2026
Оптимизация базы данных WordPress: лучшие методы и примеры
21.11.2025