Как обеспечить доступ к определенному плагину ко всем ролям пользователя, кроме подписчика в 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"); } ?>