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

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

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

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

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

Способы реализации ограничений на регистрацию

В WordPress есть несколько методов реализации таких ограничений:

  • Использование специализированных плагинов.
  • Добавление собственного кода в файл functions.php темы или создание небольшого кастомного плагина.

Плагины для ограничения регистрации

Рассмотрим несколько популярных решений:

  • Restrict User Signups — позволяет ограничить регистрацию по домену email. Можно указать белый и чёрный списки доменов.
  • WP Email Login — плагин с возможностью блокировать регистрацию по email, а также использовать email для входа.
  • Clearfy Pro (ссылка: https://wpshop.ru/clearfy-pro/) — в этом плагине есть инструменты для управления регистрацией, включая фильтрацию email и контроль доступа.

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

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

Пример кода для ограничения регистрации по домену

function wpmentor_restrict_email_domains($errors, $sanitized_user_login, $user_email) {
    // Список разрешённых доменов
    $allowed_domains = array('company.com', 'mydomain.ru');
    
    // Получаем домен из email
    $email_domain = substr(strrchr($user_email, '@'), 1);
    
    if (!in_array($email_domain, $allowed_domains)) {
        $errors->add('domain_restricted', __('Регистрация разрешена только с корпоративных email-адресов.'));
    }
    return $errors;
}
add_filter('registration_errors', 'wpmentor_restrict_email_domains', 10, 3);

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

Расширение: запрет регистрации по определённым доменам или email

Если наоборот нужно блокировать конкретные домены или отдельные email, код меняется так:

function wpmentor_block_email_domains($errors, $sanitized_user_login, $user_email) {
    // Запрещённые домены
    $blocked_domains = array('spamdomain.com', 'badmail.ru');
    // Запрещённые email
    $blocked_emails = array('blocked@example.com');
    
    $email_domain = substr(strrchr($user_email, '@'), 1);
    
    if (in_array($email_domain, $blocked_domains) || in_array($user_email, $blocked_emails)) {
        $errors->add('domain_blocked', __('Регистрация с этого email или домена запрещена.'));
    }
    return $errors;
}
add_filter('registration_errors', 'wpmentor_block_email_domains', 10, 3);

Как протестировать и отладить ограничения на регистрацию

После добавления кода или активации плагина рекомендуется:

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

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

Интеграция с плагинами WPShop для расширения функционала регистрации

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

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

Итоги и рекомендации

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

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

Как настроить автоматический экспорт отчетов в WordPress
16.01.2026
WooCommerce: как добавить автоматическое изменение цены товара при использовании промокода
10.05.2026
Как сделать динамический фильтр товаров в WooCommerce без плагинов
03.01.2026
Как создать группы пользователей в WordPress для ограничения доступа к контенту
20.03.2026
Как создать автоматические обновления контента в WordPress с помощью WP-Cron
26.03.2026