Отключение панели администратора для пользователей (кроме администраторов): методы и примеры кода

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

Метод 1: использование плагина
Один из самых простых способов отключить панель администратора для пользователей, не являющихся администраторами, — использовать плагин. Вот пример использования плагина «Отключить панель администратора»:

  1. Установите и активируйте плагин «Отключение панели администратора» из каталога плагинов WordPress.
  2. После активации плагин автоматически отключит панель администратора для всех пользователей, не являющихся администраторами.

Метод 2: собственный код в файле function.php
Если вы предпочитаете избегать использования плагинов, вы можете добиться желаемого результата, добавив собственный код в файл functions.phpвашей темы. Вот пример:

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

Метод 3: использование плагинов ролей пользователей
Вы также можете использовать плагины управления ролями пользователей, чтобы отключить панель администратора для определенных ролей пользователей. Этот метод обеспечивает большую гибкость в управлении видимостью панели администратора в зависимости от ролей пользователей. Вот пример использования плагина «Members»:

  1. Установите и активируйте плагин «Участники» из каталога плагинов WordPress.
  2. Перейдите в раздел «Участники» >«Роли» и измените нужную роль пользователя.
  3. На вкладке «Общие» снимите флажок «Панель инструментов», чтобы отключить панель администратора для этой роли пользователя.

Метод 4: условное оформление CSS
Если вы хотите скрыть панель администратора только визуально, но сохранить ее функциональность, вы можете использовать CSS для ориентации на определенные роли пользователей и скрыть панель администратора. Добавьте следующий код в таблицу стилей вашей темы:

/* Hide admin bar for non-admin users */
body:not(.admin-bar) #wpadminbar {
    display: none !important;
}

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