Custom Login & Admin Restrict
Кастомизация страницы входа и ограничение доступа к админке Wordpress
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/korsakov-kuzjma/custom-login-and-admin-restrict/archive/refs/heads/main.zipКастомизация страницы входа и ограничение доступа к админке WordPress.
- Требования: PHP 7.4+; WordPress 5.5+
- Лицензия: GPL-3.0-or-later
Описание
Custom Login & Admin Restrict — плагин для WordPress, который:
- Кастомизирует страницу входа (login)
- Ограничивает доступ к админке для пользователей без соответствующих прав
- Скрывает админ-бар у пользователей, не имеющих права
manage_options
Основные возможности
- Автоматически использует Site Icon (Иконку сайта) в качестве логотипа на странице входа.
- Добавляет CSS-стили для аккуратного оформления страницы входа.
- Блокирует доступ к
/wp-admin/для всех, кроме пользователей с правами управления. - Не мешает работе AJAX, REST API и wp-cron.
- Скрывает админ-бар у обычных пользователей.
Установка
Через админку WordPress:
- Перейдите в Плагины → Добавить новый.
- Нажмите «Загрузить плагин».
- Выберите ZIP-архив с плагином.
- Установите и активируйте плагин.
Вручную:
- Распакуйте папку в
/wp-content/plugins/. - Активируйте плагин через раздел «Плагины» в админке.
Настройка
Плагин работает без дополнительной настройки по умолчанию.
- Логотип берётся из: Настройки → Изображения сайта → Иконка сайта.
- Доступ к админке имеют только пользователи с правом
manage_options. - Для изменения стилей страницы входа редактируй assets/custom-login-style.css
Расширение через хуки
Плагин предоставляет фильтры для изменения поведения. Примеры:
Изменить URL логотипа на странице входа:
add_filter('login_headerurl', function() {
return home_url('/');
});
Изменить текст-подсказку логотипа:
add_filter('login_headertext', function() {
return get_bloginfo('name');
});
Расширить права доступа к админке (например, разрешить редакторам):
add_filter('custom_login_can_manage', function($can_manage) {
return current_user_can('edit_pages') || $can_manage;
});
Безопасность
- Защита от прямого доступа к файлам реализована.
- Все внешние данные корректно экранируются.
- При блокировке доступа возвращается HTTP 403.
- Работа AJAX и REST API не нарушается.
Производительность
- Кэширование URL иконки сайта (время кэширования — 1 час).
- Кэширование проверки существования файлов.
- Версия CSS генерируется на основе
filemtime— предотвращает лишнюю загрузку стилей. - Стили подключаются только при наличии соответствующего файла.
Разработчик
Автор: korsakov-kuzjma
GitHub: https://github.com/korsakov-kuzjma
Лицензия
Этот плагин распространяется по лицензии GPL-3.0-or-later. Вы можете свободно использовать, модифицировать и распространять его в соответствии с условиями лицензии.
Поддержка
По вопросам и ошибкам открывайте Issue в репозитории:
https://github.com/korsakov-kuzjma/custom-login-and-admin-restrict/issues