WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

is_admin_bar_showing() WP 3.1.0

Проверяет будет ли показан (или уже показан) «Админ бар» (тулбар). То есть будет ли выведена панель админки для текущего пользователя. Условный тег.

Хуки из функции
Возвращает

Логические true или false. Возвращает false в случаях:

  • если пользователь не авторизован;

  • если показ "Админ Бара" отключен;

  • если показ админ бара не предусмотрен (на странице wp-login.php)

  • если "Админ Бар" отключен в коде: add_filter('show_admin_bar', '__return_false');

  • если это запрос (константы определены): XMLRPC_REQUEST или DOING_AJAX или IFRAME_REQUEST

В остальных случаях возвращает true. В админке всегда возвращает true.

Использование

if( is_admin_bar_showing() ){
	// админ бар выводится
}

Примеры

#1 Проверим есть ли Админ бар и сделаем что-либо

if( is_admin_bar_showing() ) {
	// код, если панель есть
}
else {
	// код, если панели нет
}

Код is admin bar showing: wp-includes/admin-bar.php VER 5.0.3

<?php
function is_admin_bar_showing() {
	global $show_admin_bar, $pagenow;

	// For all these types of requests, we never want an admin bar.
	if ( defined('XMLRPC_REQUEST') || defined('DOING_AJAX') || defined('IFRAME_REQUEST') )
		return false;

	if ( is_embed() ) {
		return false;
	}

	// Integrated into the admin.
	if ( is_admin() )
		return true;

	if ( ! isset( $show_admin_bar ) ) {
		if ( ! is_user_logged_in() || 'wp-login.php' == $pagenow ) {
			$show_admin_bar = false;
		} else {
			$show_admin_bar = _get_admin_bar_pref();
		}
	}

	/**
	 * Filters whether to show the admin bar.
	 *
	 * Returning false to this hook is the recommended way to hide the admin bar.
	 * The user's display preference is used for logged in users.
	 *
	 * @since 3.1.0
	 *
	 * @param bool $show_admin_bar Whether the admin bar should be shown. Default false.
	 */
	$show_admin_bar = apply_filters( 'show_admin_bar', $show_admin_bar );

	return $show_admin_bar;
}

Cвязанные функции

Из метки: toolbar (admin bar)

Еще из метки: Условные теги (все)

Еще из раздела: Остальное

2 коммента
  • Сегодня обнаружил, что если в functions.php поставить к примеру if(is_admin_bar_showing()){}, то при просмотре сайта (не админки) админ бар пропадает, а отступ остается... Я проверил, в body пропадает класс admin-bar )mosking

    Ответить27 дней назад #
    • Причину нашел, is_admin_bar_showing() не приделах ))

      При подключении стилей использовал идентификатор 'admin-bar', который зарезервирован... а т.к. я использую функцию, которая по умолчанию при подключении стилей использует wp_deregister_style(), я отключил стили админ бара и применил свои... ))

      1
      Ответить27 дней назад #
Здравствуйте, !     Войти . Зарегистрироваться