找到了解决方法。获取当前用户id并基于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");
}
?>