X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Как закрыть доступ к админке WordPress всем кроме администратора

Приклад
  • 2024-10-15
  • 16174 переглядів

  • Дизайн та розробка сайту

Как закрыть доступ к админке WordPress всем кроме администратора
Доброго времени суток. 🙂

Новая статья и новый материал по доработке стандартного функционала WordPress. Сегодня рассмотрим как ограничить доступ к адмнке всем кроме админа. Суть задачи в том, что при попытке входа на сайт, админ попадет в административную консоль. а все остальные будут перенаправлены на главную страницу. Даже если обычный пользователь попытается войти по адресу wp-admin/, его всеравно будет перекидывать на главную.

Как закрыть доступ к админке WordPress всем кроме администратора

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

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

Добавлять следует в самый конец перед закрывающим тегом php - ?>, если его нет, то просто в самый конец.

function only_admin()
{
if ( ! current_user_can( 'manage_options' ) && '/wp-admin/admin-ajax.php' != $_SERVER['PHP_SELF'] ) {
                wp_redirect( site_url() );
	}
}
add_action( 'admin_init', 'only_admin', 1 );

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

Данная функция всегда у меня под рукой. Я ставлю ее на 80% тем что создаю. Чаще всего заказчики не хотят давать доступ в консоль даже авторам. Они устанавливают плагины личных кабинетов, что дают возможность настроить профиль без доступа в консоль. Так же, данная функция помогает частично обезопасить ваш сайт, от нежелательного доступа. Надеюсь данный материал вам поможет и вы воспользуетесь ним в своих проектах.

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 13, в среднем: 4.7 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078