Можно ли указать две группы пользователей (например, администраторы и редакторы) в поле возможностей меню администратора? Я пробовал следующее, но это не работает:
add_submenu_page(
'my-top-level-handle',
'Page title',
'Sub-menu title',
array('administrator', 'editor'),
'my-submenu-handle',
'my_magic_function'
);
сообщение об ошибке:
Предупреждение: недопустимый тип смещения в isset или пустой в C:\wamp\www\wordpress\wp-includes\capabilities.php в строке 712.
Вы не должны передавать роль (или роли) параметру возможностей. Дайте ему возможность, которую имеют только редакторы (или выше), и страница будет доступна как для администраторов, так и для редакторов.
@ t31os Пожалуйста, перестаньте публиковать свои ответы в комментариях, иначе я не смогу дать вам репутацию, которую вы заслуживаете. 🙂
@toscho — Иногда я просто намереваюсь прокомментировать и ответить, даже не осознавая этого, мне просто не терпится подумать, прежде чем я нажму эту кнопку… извините.. 🙂
устарело в течение многих лет. В ближайшее время его могут сбросить.
Параметр Capability функции add_submenu_page() может принимать только одну возможность, поэтому, если вы используете встроенные роли, вы можете выбрать возможность из длинного списка, который есть у администраторов и редакторов (используйте любую из них свободно):
Как сказал t31os, вы можете использовать возможности вместо ролей. Один из способов сделать это — использовать основные возможности. (Более продвинутый метод заключается в добавлении пользовательских возможностей к ролям по вашему выбору.) Заглавные буквы по умолчанию находятся в
wp-admin/includes/schema.php
функциях, вызываемыхpopulate_roles()
.Если вы используете стандартные роли/шапки, вы можете указать только админов и редакторов по шапке
level_7
илиedit_others_posts
или несколько других.