Отключение панели администратора для всех пользователей, кроме администраторов – подробное руководство

Панель администратора WordPress, также известная как панель инструментов, обеспечивает быстрый доступ к различным административным функциям для пользователей с необходимыми привилегиями. Однако могут быть случаи, когда вы захотите отключить панель администратора для всех пользователей, кроме администраторов. В этой статье мы рассмотрим несколько методов достижения этой цели, а также приведем примеры кода.

Метод 1. Использование пользовательской функции в файле function.php темы
Шаг 1. Получите доступ к файлу function.php вашей темы WordPress.
Шаг 2. Добавьте в файл следующий фрагмент кода:

function disable_admin_bar() {
  if (!current_user_can('administrator') && !is_admin()) {
    show_admin_bar(false);
  }
}
add_action('after_setup_theme', 'disable_admin_bar');

Метод 2. Использование собственного плагина.
Шаг 1. Создайте новый файл плагина (например, Disable-admin-bar.php).
Шаг 2. Добавьте в файл плагина следующий код:

/*
Plugin Name: Disable Admin Bar Except for Admins
Description: Disables the Admin Bar for all users except administrators.
*/
function disable_admin_bar() {
  if (!current_user_can('administrator') && !is_admin()) {
    show_admin_bar(false);
  }
}
add_action('after_setup_theme', 'disable_admin_bar');

Шаг 3. Сохраните файл и загрузите его в каталог плагинов вашего сайта WordPress (/wp-content/plugins/).

Метод 3. Использование плагина управления ролями
Шаг 1. Установите и активируйте плагин управления ролями, например «Участники» или «Редактор ролей пользователей».
Шаг 2. Найдите настройки плагина или раздел управления ролями пользователей..
Шаг 3. Найдите роли, для которых вы хотите отключить панель администратора (например, подписчик, редактор).
Шаг 4. Найдите параметр, который управляет отображением панели администратора для каждой роли. и отключите его.

Метод 4. Реализация пользовательского CSS
Шаг 1. Получите доступ к пользовательскому файлу CSS вашей темы.
Шаг 2. Добавьте в файл следующий код CSS:

body:not(.admin-bar) #wpadminbar {
  display: none !important;
}

Отключить панель администратора для всех пользователей, кроме администраторов, можно несколькими способами. Вы можете выбрать наиболее подходящий подход, исходя из ваших предпочтений и технических знаний. Будь то пользовательский код в файле function.php темы, пользовательский плагин, плагины управления ролями или пользовательский CSS, эти методы позволяют вам контролировать видимость панели администратора и улучшать взаимодействие с пользователем на вашем сайте WordPress.