focuspro
@focuspro

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

Добрый день есть код, который убирает админ-бар для всех кроме Администратора. Подскажите как добавить, чтобы он отображался еще для Редактора и Автора, а вот для подписчика не отображался

function remove_admin_bar() {
		if(!current_user_can('administrator') and !is_admin()){
			show_admin_bar(false);
		}
	}
	add_action('after_setup_theme', 'remove_admin_bar');
  • Вопрос задан
  • 443 просмотра
Решения вопроса 1
llgruff
@llgruff
Scala
Нужно изменить права в вашей функции, т.е. просто administrator заменить на publish_posts.
Участник и Подписчик не будут видеть. Автор, Редактор, Админ — будут видеть.
Подробнее current_user_can.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Дополню: Не нужно вешать функцию на after_setup_theme, для этого есть специальный хук show_admin_bar.
function maybe_hide_admin_bar( $content ) {
    if ( current_user_can( 'publish_posts' ) ) {
        return $content;
    }
    return false;
}
add_filter( 'show_admin_bar' , 'maybe_hide_admin_bar' );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы