Долгое время скрывался, но постер впервые. Я много искал в Google и просто не могу найти ответ на эту проблему.
Я использую отличный плагин «Members» Джастина Тэдлока для ролей и разрешений на нескольких клиентских установках WP. Недавно я развернул тему, в которой клиент должен иметь доступ только к элементу «Внешний вид» -> «Меню», но ни к каким другим подпунктам в меню «Внешний вид» администратора.
При включении роль «edit_theme_options» позволяет пользователю получать доступ к «Темам», «Виджетам» и «Меню». Как мне отфильтровать подменю, чтобы, если назначена роль «edit_custom_menus», отображалась ссылка «Меню»?
После дальнейшего поиска и обнаружения глобальной переменной $submenu мне удалось найти полезный учебник по удалению подменю из панели администратора WordPress.
Я опубликую код, когда получу полное решение, интегрированное с плагином.
по крайней мере, было бы неплохо узнать, есть ли ответ на этот вопрос или нет 🙂
Следует отметить, что WordPress частично определяет необходимые ограничения для просмотра страницы на основе возможностей, установленных в пункте меню, фильтр в admin_menu позволит вам обновить соответствующий элемент массива с желаемым ограничением… (я с радостью расскажу подробнее, если потребуется).
Сам плагином не пользуюсь, так что чисто теоретически. В этом есть две части:
current_user_has_role()
функция для этого.