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

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

Почему стоит запретить регистрацию пользователей

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

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

Как проверить текущие настройки регистрации в WordPress

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

  • Перейдите в Консоль > Настройки > Общие
  • Найдите параметр «Членство» и убедитесь, что галочка «Любой может зарегистрироваться» снята

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

Запрет регистрации пользователей с помощью кода в functions.php

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

function wp_course_disable_user_registration() {
    if (isset($_GET['action']) && $_GET['action'] == 'register') {
        wp_redirect(home_url());
        exit;
    }
}
add_action('login_init', 'wp_course_disable_user_registration');

Этот код проверяет, пытается ли пользователь попасть на стандартную страницу регистрации WordPress (wp-login.php?action=register), и если да, перенаправляет его на главную страницу сайта.

Отключение возможности регистрации через REST API и XML-RPC

Некоторые пользователи могут регистрироваться через REST API или XML-RPC. Чтобы полностью исключить регистрацию, блокируем эти варианты:

function wp_course_block_rest_registration($result, $user_id, $password) {
    return new WP_Error('registration_disabled', 'Регистрация отключена на этом сайте.');
}

add_filter('rest_pre_dispatch', function ($response, $server, $request) {
    $route = $request->get_route();
    if (strpos($route, '/wp/v2/users') !== false && $request->get_method() === 'POST') {
        return new WP_Error('rest_registration_disabled', 'Регистрация через REST API запрещена.');
    }
    return $response;
}, 10, 3);

add_filter('xmlrpc_methods', function($methods) {
    if (isset($methods['wp.newUser'])) {
        unset($methods['wp.newUser']);
    }
    return $methods;
});

Этот код блокирует создание новых пользователей через REST API и XML-RPC.

Как скрыть ссылки на регистрацию в теме

Даже если регистрация запрещена, в некоторых темах могут отображаться ссылки «Регистрация» или «Зарегистрироваться». Их нужно убрать, чтобы не вводить пользователей в заблуждение.

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

<?php if (get_option('users_can_register')) : ?>
    <a href="<?php echo wp_registration_url(); ?>">Регистрация</a>
<?php endif; ?>

Удалите этот блок или замените на альтернативный вывод без ссылки.

Использование плагинов для расширенного контроля регистрации

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

  • Clearfy Pro — плагин для оптимизации и безопасности, позволяет быстро отключить регистрацию и скрыть страницы.
  • WPCommunity — если вы хотите строить сообщество с контролем регистрации, этот плагин поможет настроить права и процедуры.

Резюме и советы по безопасности

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

Не забывайте проверять, что ссылки на регистрацию убраны из интерфейса, чтобы пользователи не пытались попасть на запрещённые страницы. Также следите за безопасностью REST API и XML-RPC, чтобы исключить обходные пути для регистрации.

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

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

⭐⭐⭐⭐⭐
Как запретить регистрацию пользователей в WordPress без плагинов
26.02.2026
Как создать каскадные шаблоны в WordPress для гибкой темы
16.12.2025
Как настроить отложенный запуск функций в WordPress с помощью Cron
21.02.2026
Как разрешить использовать PHP в шорткодах WordPress: практическое руководство
06.12.2025
Как реализовать отложенный запуск функций в WordPress: практическое руководство
23.12.2025
×
ABC
Pagination
Улучшай навигацию на сайте за секунды!
-15%

на ABC Pagination плагин WordPress

Сделать красиво ⋙