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

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

Хочу обратить ваше внимание на то, что если вы хотите заблокировать админку для всех кроме себя, то лучше делать это по IP через .htaccess.

А теперь пример.

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

function true_wp_admin_block() {
	if (!current_user_can('administrator')) { // если не администратор
		header('HTTP/1.0 404 Not Found');
		exit();
	}	
}
add_action('admin_menu', 'true_wp_admin_block');

Глянем ещё один примерчик, в этот раз будем блокировать конкретного юзера:

function true_wp_admin_by_user() {
	global $user_ID;
	if ($user_ID == '1') { // ID пользователя, для которого закрываем доступ
		header('Content-Type: text/html; charset=utf-8');
		$user = get_userdata($user_ID);
		echo "Эй, {$user->first_name} {$user->last_name}, тебе сюда нельзя!";
		exit();
	}	
}
add_action('admin_menu', 'true_wp_admin_by_user');

Весь код засовывать в файл functions.php, находящийся в папке с текущей темой.

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Комментарии 6

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...