Я хотел бы предоставить моим редакторам возможность изменять меню, это можно сделать?
Вкладка «Внешний вид» вообще не является опцией, могу ли я сделать это так?
user-roles
Мягкий пух
источник
источник
WP_Role
admin_init
и толькоif !$role_object->has_cap('edit_theme_options')
РЕДАКТИРОВАТЬ: обновление для WP 4.9 и скрывать только пункты меню для редактора
Если вы хотите, чтобы ваши пользователи могли изменять навигационное меню, но не отображать остальные параметры: используйте это
Вы можете закомментировать весь этот код после того, как обновите свою админ-панель, потому что приведенный выше код будет вносить постоянные изменения в базу данных.
Теперь у вас есть все варианты под видимым для редакторов. Вы можете скрыть другие параметры, например, так:
Последние 3 строки в
hide_menu()
функции являются темами, специфичными для моей темы. Вы можете найти второй параметр, нажав на подменю, которое вы хотите скрыть, в панели администратора. Ваш URL будет выглядеть примерно так: example.com/wp-admin/themes.php?page= yiw_panelИтак, в этом примере второй параметр для
remove_submenu_page()
функции будетyiw_panel
источник
В WordPress 3.8 этот код будет лучше, чем текущий принятый ответ.
источник
Когда я смотрю на структуру меню администратора, кажется, что
nav-menus.php
ссылка связана с возможностьюedit_theme_options
. Можете ли вы изменить роль редактора, чтобы включить эту возможность? Это также даст им возможность редактировать виджеты , я не знаю, является ли это проблемой? Все возможности Ajax меню ограничены этой возможностью, поэтому простое изменение возможности меню администратора для редактирования меню, вероятно, не сработает.источник
установить плагин «User Role Editor» - включить edit_theme_options - установить плагин «Adminize» - отключить «Виджеты» и «Switch Theme» для редакторов;)
источник
Я обнаружил, что ваше меню будет работать следующим образом: установите плагин « User Role Editor », и там вы сможете отредактировать условие для роли редактора и другие. Включить edit_theme_options. Но теперь: вы увидите «menu» -опция под «themes», «widgets». Для меня: после нажатия на «меню» (как редактор) я не вижу заполненные опции, но пустые. Поэтому я деактивировал плагин "User Role Editor", и заполненные опции для "menu" отображаются правильно. Обратите внимание, что отключение плагина «User Role Editor» остается условием для активного редактора! Хорошо для меня, может быть, это поможет вам тоже
источник