is_admin_bar_showing() — проверяет, нужно ли отображать админ панель

Условный тег, возвращает true, если на данной странице и для данного пользователя нужно отображать админ панель. Если пользователь не залогинен, или у него в настройках отключена админ панель, или он находится на странице wp-login.php, то возвращает false.

is_admin_bar_showing()

Функция не имеет параметров.

Простой пример:

if( is_admin_bar_showing() ) {
	// делаем что-то, если админ панель отображается
} else {
	// делаем другое, если ее нет на этой странице
}

Фильтр show_admin_bar. Правильный способ отключения админ панели.

$show_admin_bar = apply_filters( 'show_admin_bar', $show_admin_bar );

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

add_filter('show_admin_bar', '__return_false');

Либо так (аналогичный вариант):

function true_return_false(){
	return false;
}
 
add_filter('show_admin_bar', 'true_return_false');

Для админки данный способ не прокатит, там функция всегда возвращает true и не учитывает этот фильтр.

Теперь давайте попробуем скрыть админ панель для всех, кроме администраторов:

function true_return_false_not_for_admin(){
	if( !current_user_can('administrator') ) { 
		return false;
	} else {
		return true;
	}
}
 
add_filter('show_admin_bar', 'true_return_false_not_for_admin');

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

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.

  • Артем: Ага, понял. Вот только почему $args? Она же нигде не определена, по логике должна быть переменная $true_field_params или...