当前用户can(一串 $功能,混合的 $个参数 ):布尔

返回当前用户是否具有指定的功能。

描述

此函数还接受对象的ID,以检查该功能是否为元功能。元功能,如编辑_发布编辑用户是由map_meta_cap()映射到用户或角色具有的基本功能的函数,例如编辑_文章编辑其他帖子.

示例用法:

current_user_can('edit_posts');current_user_can('edit_post',$post->ID);current_user_can('edit_post_meta',$post->ID,$meta_key);

虽然在一定程度上支持根据特定角色代替能力进行检查,但不鼓励这种做法,因为它可能会产生不可靠的结果。

注意:如果当前用户是超级管理员,则始终返回true,除非特别拒绝。

另请参见

参数

$能力一串必需的
功能名称。
$个参数混合的可选择的
可选的其他参数,通常以对象ID开头。

返回

布尔当前用户是否具有给定的功能。如果$功能是元大写字母$对象id则当前用户是否具有给定对象的给定元功能。

来源

函数current_user_can($capability,…$args){return user_can(wp_get_current_user(),$capability$参数);}

变更日志

版本描述
5.8.0已转换为的包装user_can()功能。
5.3.0将现有的和已记录的…$参数参数,将其添加到函数签名。
2.0.0介绍。

用户贡献的笔记

  1. 跳到注释7内容

    如果要检查两个以上的角色,可以检查当前用户的角色是否位于角色数组中,例如:

    $user=wp_get_current_user();$allowed_roles=数组('编辑器','管理员','作者');if(array_intersect($allowed_roles,$user->roles)){//此处提供允许角色的资料}
  2. 跳到注释10内容

    注意:如果当前用户是超级管理员,则始终返回true,除非特别拒绝。

    这张纸条有点误导人。使用$user->add_cap('capability',false)将不起作用。显式拒绝超级管理员功能的唯一方法是使用地图_元数据_地图滤波器返回不允许(_N)检查该功能。

  3. 跳到注释12内容

    老法典说current_user_can($capability,$object_id);但没有参数$对象id即使它列在“参数”部分中。

你必须登录在能够发表注释或反馈之前。