如何仅允许两个(或更多)用户访问插件

时间:2015-11-19 作者:Jizbo Jonez

我需要允许两个特定的用户(而不是组)使用“管理”菜单区域中列出的某个插件。我有以下代码,允许一个用户(用户id=2)查看插件:

add_menu_page( \'My Plugin Page\', __(\'My Plugin Page\', \'my-plugin-page\'), 2, \'afp\', \'mp_items_page\', \'dashicons-admin-site\', \'101.1\' );
我知道我可以使用角色,但这允许该组中的所有用户访问插件页面,这对我没有好处。我需要添加的一个用户是admin,另一个是author。

1 个回复
最合适的回答,由SO网友:WPTC-Troop 整理而成

如果需要为大型用户组创建新的用户角色或设置用户访问级别,则可以创建新的用户角色。

如果没有,您只需按常规方式添加菜单即可。但在打印管理页面时,只需确保当前用户是您希望看到的页面。

例如:

    add_menu_page( $page_title, $menu_title,
                   $capability, $menu_slug, \'sample_function\', $icon_url, $position );

    function sample_funtion(){
     $allowed_user_list = array(2,18);
     $current_user_ID = get_current_user_id();
    if(in_array($current_user_ID,$allowed_user_list)){
    //now print everything you want. Only allowed user will see it

    }

}