WP Manifestindependent plugin directory
manifest / unclassified / custom-login-and-admin-restrict

Custom Login & Admin Restrict

Кастомизация страницы входа и ограничение доступа к админке Wordpress

★ 0stars

Install

Download source zip No release zip yet

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
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Кастомизация страницы входа и ограничение доступа к админке WordPress.

  • Требования: PHP 7.4+; WordPress 5.5+
  • Лицензия: GPL-3.0-or-later

Описание

Custom Login & Admin Restrict — плагин для WordPress, который:

  • Кастомизирует страницу входа (login)
  • Ограничивает доступ к админке для пользователей без соответствующих прав
  • Скрывает админ-бар у пользователей, не имеющих права manage_options

Основные возможности

  1. Автоматически использует Site Icon (Иконку сайта) в качестве логотипа на странице входа.
  2. Добавляет CSS-стили для аккуратного оформления страницы входа.
  3. Блокирует доступ к /wp-admin/ для всех, кроме пользователей с правами управления.
  4. Не мешает работе AJAX, REST API и wp-cron.
  5. Скрывает админ-бар у обычных пользователей.

Установка

Через админку WordPress:

  1. Перейдите в Плагины → Добавить новый.
  2. Нажмите «Загрузить плагин».
  3. Выберите ZIP-архив с плагином.
  4. Установите и активируйте плагин.

Вручную:

  1. Распакуйте папку в /wp-content/plugins/.
  2. Активируйте плагин через раздел «Плагины» в админке.

Настройка

Плагин работает без дополнительной настройки по умолчанию.

  • Логотип берётся из: Настройки → Изображения сайта → Иконка сайта.
  • Доступ к админке имеют только пользователи с правом 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