Intereting Posts
Как установить автора для сообщений и сообщений вложений Как кэшировать пользовательские страницы с помощью W3 Total Cache? Почему wp_list_pages изменяет $ post-> ID страницы? Общее количество сообщений в запросе (категория / тег / автор / результаты поиска / главная страница …) Закажите заказную таксонию в алфавитном порядке и разворот после нажатия кнопки? WP Admin Bar – введите название текущей темы в качестве заголовка пользовательского меню Обновление плагинов запрашивает информацию о FTP, почему? (это новый) Добавить пользовательский текст в меню Мне нужно «wp_dequeue_script» и «styles» и добавить кучу других css и js разные single.php для разных шаблонов страниц Создание настраиваемого плагина типа сообщения – продолжайте получать белый экран смерти Как динамически прикреплять изображения к карусели jQuery UI Sortable не работает с Metabox Класс. Текущий элемент меню в пользовательском меню Уолкер Пользовательское состояние сообщения и предварительный просмотр

Связывать пользовательскую роль с административной страницей

Я создал страницу администратора, на которой показаны некоторые записи, доступные из администратора WP через www.xyz.com/wp-admin/admin.php?page=show-records-handle . как я могу определить новую пользовательскую роль, связанную с этой страницей?

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

Поэтому для вашей информации (на основе add_menu_page) я предлагаю вам проверить код add_menu_page в wordpress http://codex.wordpress.org/Function_Reference/add_menu_page, если вы заглянете в параметр add_menu_page, третий из них – для функции $capability just only change он находится ниже кода manage_options для manage_wpse_173073 (или любого имени, которое вы хотите), и просто назначьте эту возможность своей настраиваемой роли.

 add_action( 'admin_menu', 'register_my_custom_menu_page' ); function register_my_custom_menu_page(){ add_menu_page( 'custom menu title', 'custom menu', 'manage_options', 'custompage', 'my_custom_menu_page', plugins_url( 'myplugin/images/icon.png' ), 6 ); } function my_custom_menu_page(){ echo "Admin Page Test"; } 

Поэтому я меняю add_menu_page на пользовательские возможности (manage_wpse_173073)

  add_menu_page( 'custom menu title', 'custom menu', 'manage_wpse_173073', 'custompage', 'my_custom_menu_page', plugins_url( 'myplugin/images/icon.png' ), 6 ); 

то, как только я изменил эти возможности, нам нужно назначить эти возможности для пользовательской роли или выбранной роли. http://codex.wordpress.org/Function_Reference/add_cap

 function add_menu_caps() { // gets the custom role $role = get_role( 'your custom role' ); $role->add_cap( 'manage_wpse_173073' ); } add_action( 'admin_init', 'add_menu_caps'); 

вышеуказанный код еще не протестирован, но я надеюсь, что он должен работать в моем случае, меня пробовали такое же поведение в течение месяца 🙂

EDITED: для вашего случая затем создайте новую настраиваемую роль, затем назначьте вышеуказанные возможности

  function add_roles_on_init() { add_role( 'custom_role', 'Custom Subscriber', array( 'read' => true, 'level_0' => true,'manage_wpse_173073'=> true ) ); } add_action('init', 'add_roles_on_init' ); 

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

Надеюсь, это может помочь 🙂

Благодарю.