Как скрыть кнопку «Настройка экрана» в админке WordPress

Click here to view original web page at wordpressinside.ru

Кнопка «Настройка экрана» (Screen Options) находится в правом верхнем углу страницы. При клинке она открывает целый ряд дополнительных опций, с помощью которых можно, например, скрывать некоторые столбцы в списке записей блога, задавать число выводимых там постов или дополнительно добавить описания в пункты меню.

Кнопка Настройка экрана

Зачем ее нужно скрывать? Допустим, у вас на сайте работают несколько авторов и если кто-то случайно поменяет/отключит важные для проекта функции (выбор автора статей, задание тегов и т.п.), то этот поступок будет иметь последствия и для других пользователей, работающих в системе.

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

Метод №1 — через фильтр

В данном случае следует добавить в ваш файл функций (functions.php или другой) следующие строки:

function wpb_remove_screen_options() { 
 if(!current_user_can('manage_options')) {
  return false;
 }
 return true; 
}
add_filter('screen_options_show_screen', 'wpb_remove_screen_options');

В коде с помощью current_user_can проводится проверка роли пользователя — указанная конструкция будет выполнять хак для всех кроме админа. Интересно было узнать, что использовать при этом формулировку current_user_can(‘administrator’) является ошибкой.

Вариант 2: плагин ролей (Adminimize)

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

После его активации выбираем в меню админки «Настройки» — «Adminimize» и на открывшейся странице кликаем по пункту «Global Options».

Настройки плагина Adminimize
При нажатии на ссылку вас перекинет на блок глобальных параметров. Если он будет свернут, придется кликнуть еще раз по его названию, и вы увидите соответствующие функции:
Настройки плагина Adminimize
Находите строку «Screen Options» и отмечаете галочками роли пользователей, для которых опцию нужно деактивировать. Не забудьте после этого сохранить изменения, клинкув «Update Options» чуть ниже.

Как видите, обе реализации достаточно простые. Если скрыть кнопку «Настройка экрана» — ваша единственная цель, то я бы специально не ставил плагин управлениями правами пользователей, а советовал бы разобраться с внедрением хака. Нет смысла создавать лишнюю нагрузку на движок. Нужно ли вообще убирать эту фишку? — не сказал бы, что это прям критичная проблема, но если вдруг такая задача появится, — теперь вы будете знать как действовать.

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