如何获取现有用户角色的所有功能

时间:2016-05-21 作者:Carl Alberto

如何获得现有用户角色(如作者)的所有功能?我将使用它快速复制现有用户角色,然后创建一个新角色,然后为新的自定义角色分配或删除功能。

1 个回复
最合适的回答,由SO网友:Mac organo 整理而成

我建议不要在默认情况下弄乱现有的角色和功能,当您将来有一堆自定义角色和功能时,这可能会给您带来一些麻烦

为了回答您的问题,我将举一个例子:我需要一个新的角色/用户组,它几乎有一个管理员,但没有编辑插件和主题的能力,来做到这一点:

假设您想复制Administrator, 通过以下方式完成:

$admin_role_set = get_role( \'administrator\' )->capabilities;
  • 您可以使用add_role, 请参见handbook 了解更多详细信息。然后,我们可以使用#1中的功能列表,方法是:

    $role = \'content_admin\';
    $display_name = \'Content Admin\';
    add_role( $role, $display_name, $admin_role_set );
    
    通过检查Roles and Capabilities 手册中的列表,我们需要删除edit_plugins &;edit_themes 我们可以通过使用remove_cap():

    remove_cap( \'content_admin\', \'edit_plugins\' );
    remove_cap( \'content_admin\', \'edit_themes\' );
    
  • 相关推荐

    未定义的偏移量:1067行的>[...]/wp-includes/capabilities.php中的0

    嘿,我在我的localhost设置中得到了这个错误消息,但只有在启用Genesis框架的情况下;WordPress二十一行。当我想创建一个新帖子时,就会发生这种情况。如果我刷新页面,错误会重复,但帖子本身会被创建,一切似乎都很好。有人知道这是什么原因吗?Notice: Undefined offset: 0 in /var/www/secret/htdocs/wp-includes/capabilities.php on line 1067 Notice: Undefined offset: 0