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

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

Зачем контролировать регистрацию пользователей в WordPress

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

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

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

Как отключить регистрацию пользователей в WordPress (базовый способ)

Самый простой способ — снять галочку в настройках:

  1. Перейдите в Консоль > Настройки > Общие.
  2. Снимите галочку с пункта Любой может зарегистрироваться.
  3. Сохраните изменения.

После этого стандартная страница регистрации становится недоступной. Однако если у вас есть кастомные формы или плагины, они могут продолжить регистрацию, поэтому далее — более продвинутые способы контроля.

Удаление или отключение регистрации через functions.php

Можно запретить регистрацию программно, чтобы блокировать попытки регистрации даже через REST API или кастомные формы.

Отключение регистрации с помощью фильтра

Добавьте следующий код в файл functions.php вашей темы или в плагин:

function clearfy_disable_user_registration() {
    return false;
}
add_filter('register_enabled', 'clearfy_disable_user_registration');

Однако фильтр register_enabled не является стандартным во всех версиях, поэтому лучше использовать более универсальный способ.

Перехват регистрации и отказ в ней

Можно сделать так, чтобы при попытке регистрации пользователя выводилось сообщение об ошибке:

function clearfy_block_user_registration() {
    if (isset($_POST['register'])) {
        wp_die('Регистрация пользователей на этом сайте отключена.');
    }
}
add_action('login_form_register', 'clearfy_block_user_registration');

Этот код ловит попытку регистрации на стандартной странице и блокирует её.

Автоматическое удаление новых пользователей после регистрации

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

Пример функции, которая удаляет пользователя сразу после создания:

function clearfy_delete_new_user_immediately($user_id) {
    require_once(ABSPATH . 'wp-admin/includes/user.php');
    wp_delete_user($user_id);
}
add_action('user_register', 'clearfy_delete_new_user_immediately');

Этот код удалит каждого нового пользователя сразу после регистрации. Можно настроить задержку или условия удаления, если нужно.

Изменение формы регистрации и добавление капчи для защиты

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

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

  • WPForms — позволяет создавать собственные формы регистрации с защитой Google reCAPTCHA.
  • Profile Builder — расширенный редактор форм регистрации и профилей.
  • Clearfy — плагин, который оптимизирует и защищает сайт, в том числе позволяет отключать регистрацию и блокировать спам.

Добавление Google reCAPTCHA вручную

Если хотите добавить капчу без плагинов, можно вставить её в форму регистрации через хук register_form и проверить на сервере:

function clearfy_add_recaptcha_to_register() {
    ?>
    <div class="g-recaptcha" data-sitekey="ВАШ_КЛЮЧ_SITE_KEY"></div>
    <?php
}
add_action('register_form', 'clearfy_add_recaptcha_to_register');

function clearfy_verify_recaptcha_on_register($errors, $sanitized_user_login, $user_email) {
    if (!isset($_POST['g-recaptcha-response']) || empty($_POST['g-recaptcha-response'])) {
        $errors->add('recaptcha_error', __('Пожалуйста, подтвердите, что вы не робот.'));
    } else {
        $response = wp_remote_get('https://www.google.com/recaptcha/api/siteverify?secret=ВАШ_SECRET_KEY&response=' . $_POST['g-recaptcha-response']);
        $response_body = wp_remote_retrieve_body($response);
        $result = json_decode($response_body);
        if (!$result->success) {
            $errors->add('recaptcha_error', __('Ошибка проверки reCAPTCHA.'));
        }
    }
    return $errors;
}
add_filter('registration_errors', 'clearfy_verify_recaptcha_on_register', 10, 3);

Не забудьте заменить ВАШ_КЛЮЧ_SITE_KEY и ВАШ_SECRET_KEY на ключи вашего сайта Google reCAPTCHA.

Удаление стандартной ссылки «Регистрация» из сайта и меню

Если регистрация отключена, желательно убрать ссылки на неё, чтобы не путать пользователей.

Пример кода, который убирает ссылку регистрации из меню авторизации WordPress:

function clearfy_remove_register_link_from_login() {
    if (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false) {
        remove_action('login_footer', 'wp_register');
    }
}
add_action('init', 'clearfy_remove_register_link_from_login');

Так вы сделаете интерфейс чище и избавитесь от лишних переходов.

Итоговые рекомендации и лучшие практики

Управление регистрацией пользователей — важный аспект безопасности и удобства сайта на WordPress. Чтобы сделать это правильно, придерживайтесь следующих рекомендаций:

  • Если регистрация не нужна — отключайте её через настройки и дополнительно блокируйте программно.
  • Используйте плагины для кастомизации формы и добавления защиты (капча, двойная верификация).
  • Автоматически удаляйте новых пользователей, если используете регистрацию для тестов.
  • Обязательно убирайте все ссылки и формы регистрации, если она отключена.
  • Тестируйте все изменения на тестовом сайте перед применением на рабочем.

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как удалить неиспользуемые таблицы в базе данных WordPress для оптимизации
30.01.2026
Как удалить неиспользуемые таксономии в WordPress для оптимизации базы данных
18.12.2025
Как удалить неиспользуемые поля ACF в WordPress для оптимизации базы данных
18.03.2026
Как удалить неиспользуемые поля в WP REST API для оптимизации WordPress
15.04.2026
Как удалить пустые термины в таксономиях WordPress для оптимизации базы данных
25.03.2026
×
Оптимизируй свой сайт!

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

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