Intereting Posts
Ошибка PHP Когда активен плагин Смещение WP_query, похоже, подсчитывает нагрузку на пост-AJAX больше Создать подстраницу – список родительских фильтров Google не может выполнять поиск на моем сайте Как заменить форму анонимного комментария на регистрационную форму на WordPress? ted переговоры встроены фиксированные, но не могут контролировать размер WordPress Multisite предоставляет пользователям доступ к определенным страницам администратора удалить <div class = "textwidget"> из текстового виджета Ошибка добавления данных в таблицу опций Список пользователей с наибольшим количеством сообщений за последние 30 дней Как разрешить определенные расширения и размер файла для вложения wp_mail? Используйте файл шаблона для определенного URL-адреса без создания страницы Я хочу вставить файл .js в мою дочернюю тему Список пользовательских сообщений Использование файла .pdf в виде страницы в wordpress

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

Я работаю на многостраничном сайте wordpress, но этот вопрос имеет значение для регулярного использования в WordPress.

Как я могу скрыть определенные боковые панели определенных групп пользователей (например, редакторов или администраторов)? Я уже пробовал тривиально:

if(is_admin() && user_can(...)){ register_sidebar... } 

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

Благодарю.

Я предполагаю, что вы хотите ограничить доступ к редактированию боковой панели в интерфейсе администратора, а не удалять ее по теме.

Не углубляясь в то, как функции виджета / боковой панели функционируют за кулисами, лучше всего будет играть с глобальным $wp_registered_sidebars . Однако ключ – когда – слишком рано, а шаблон wp-admin / widgets.php увидит недостающую боковую панель и переместит ее на боковую панель «Неактивные боковые панели». Слишком поздно и, ну, вы не получите никакого эффекта.

 add_action('widgets_admin_page', 'sidebar_capabilities'); /** * Keep in mind that you can certainly create custom * capabilities for your sidebars. You could create a loop * that generates new capabilities for each sidebar and assigns them * to admin. You could then manage those capabilities for other * users with the Members plugin by Justin Tadlock */ function sidebar_capabilities(){ global $wp_registered_sidebars; //Remove the comment lines to see the global variable structure. //print_r($wp_registered_sidebars); //Use whatever capabilities you want. //To test as admin, just put junk text for the cap. if(is_admin() && !current_user_can('edit_plugins')){ //This sidebar name is from the twenty-ten theme. unset($wp_registered_sidebars['primary-widget-area']); } } не add_action('widgets_admin_page', 'sidebar_capabilities'); /** * Keep in mind that you can certainly create custom * capabilities for your sidebars. You could create a loop * that generates new capabilities for each sidebar and assigns them * to admin. You could then manage those capabilities for other * users with the Members plugin by Justin Tadlock */ function sidebar_capabilities(){ global $wp_registered_sidebars; //Remove the comment lines to see the global variable structure. //print_r($wp_registered_sidebars); //Use whatever capabilities you want. //To test as admin, just put junk text for the cap. if(is_admin() && !current_user_can('edit_plugins')){ //This sidebar name is from the twenty-ten theme. unset($wp_registered_sidebars['primary-widget-area']); } }