当我们要调整WordPress中的用户功能时,我们可以做到非常细致。例如,我们可以配置某个用户可以编辑帖子。但是,此外,我们可以将编辑帖子的功能仅限制为特定的帖子类型(例如,上限:edit_posts
,edit_pages
,edit_[post_type]
)。甚至从那里开始,我们都可以做得更深入,确实可以想像只编辑帖子类型的私人帖子(例如,上限:edit_private_posts
,edit_private_pages
);只是为了确保我所说的“细颗粒”。
但是当涉及到与用户相关的功能时,我只知道6种功能,即:
edit_users
,delete_users
,create_users
,list_users
,remove_users
和promote_users
。 是这样吗?怎么办:edit_editor_users
(这意味着:仅编辑具有用户角色“编辑者”的用户)。我不敢相信与用户相关的功能真的那么基本。
当我向客户交付WP网站时,我通常不让他们访问具有用户角色administrator
的用户,但更可能是editor
或自定义用户角色的用户。但是,当我要允许用户角色创建用户时,具有该角色的用户可以创建具有每个用户角色甚至administrator
的用户。这根本不是一件好事!再说一遍。我需要类似的东西:
$role = get_role('editor');
$role -> add_cap('create_editor_users', true); // or in general:
$role -> add_cap('[edit|delete|create|list|remove|promote]_[user_role]_users', true);
是否有实现这一目标的非hacky方法?插件也可以。