Intereting Posts
Как определить, какой javascript выполняется Запустите проверку для нескольких значений мета-ключа wp_enqueue_script не включается в нижний колонтитул Как показать родительскую и дочернюю категорию WordPress с помощью другого шаблона? Почему полностью нормальный цикл дает ошибки смещения и ошибки максимального времени выполнения? Виджеты в WP 4.3 исчезают – как исправить? Добавить страницу за пределами текущей темы? Отключение и включение контента с помощью Customizer Миграция с foo.com/wordpress/ на foo.com/ – как я могу это сделать? Вызовы на одной странице с нескольких сайтов некоторые сообщения отображаются в виде страниц Ссылки Twitter в виджет не работают? как создать настраиваемое обновление ajax для отображения новых сообщений в системе newpress Плагин WordPress, создающий базу данных в localhost, но не на реальном хосте Multisite, загружайте изображения прямо на Amazon S3

Как обеспечить доступ к определенному плагину ко всем ролям пользователя, кроме подписчика в wordpress

Я использую плагин Product Catalog в WordPress. В настоящее время только пользователи роли администратора могут просматривать настройки плагина.

Но мне нужны пользователи Редактора, Contributor и Author, также должен иметь доступ для просмотра конкретного плагина. Может кто-нибудь, пожалуйста, предоставит мне решение предоставить доступ для просмотра конкретного подключаемого модуля.

Solutions Collecting From Web of "Как обеспечить доступ к определенному плагину ко всем ролям пользователя, кроме подписчика в wordpress"

Используйте current_user_can( 'edit_posts' ) который применяется к любому зарегистрированному пользователю выше абонента. Кроме того, проверьте роли и возможности WordPress, чтобы увидеть другие разрешения для разных уровней.

 <?php if( current_user_can( 'edit_posts' ) ){ // do whatever } 

проблема с внесением такого изменения – если вы отредактируете код плагина, вы потеряете свои изменения при следующем обновлении плагина.

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

Получил исправление для этого. Получить текущий идентификатор пользователя и на основе ID получить текущую информацию пользователя. Из этой информации пользователя получить роль пользователя. Если роль пользователя не является подписчиком, тогда только мы можем добавить страницу меню. Таким образом, редакторы / участники могут получить доступ к плагину.

Ниже приведен рабочий код.

 <?php $userID = get_current_user_id(); $user = new WP_User($userID); $userRole = $user->roles[0]; if($userRole!="subscriber") { $Access_Role =$userRole; $UPCP_Menu_page = add_menu_page($page_title, $menu_title, $Access_Role, 'UPCP-options', 'UPCP_Output_Options',null , '50.5'); add_action("load-$UPCP_Menu_page", "UPCP_Screen_Options"); } ?>