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');
Кодекс WordPress: author_can(), cat_is_ancestor_of(), comments_open(), email_exists(), has_excerpt(), has_nav_menu(), has_post_format(), has_post_thumbnail(), has_tag(), in_category(), is_404(), is_active_sidebar(), is_admin(), is_admin_bar_showing(), is_archive(), is_attachment(), is_author(), is_blog_installed(), is_category(), is_date(), is_day(), is_feed(), is_front_page(), is_home(), is_main_query(), is_main_site(), is_month(), is_object_in_term(), is_page(), is_page_template(), is_paged(), is_post_type_archive(), is_preview(), is_rtl(), is_search(), is_single(), is_singular(), is_ssl(), is_sticky(), is_tag(), is_tax(), is_taxonomy_hierarchical(), is_time(), is_user_logged_in(), is_year(), term_is_ancestor_of(), wp_is_mobile(), wp_is_post_revision()

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

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

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

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