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');

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: