current_user_can

函数
current_user_can ( $capability, $args )
参数
  • (string) $capability Capability name.
    Required:
  • (mixed) $args Optional further parameters, typically starting with an object ID.
    Required:
返回值
  • (bool) Whether the current user has the given capability. If `$capability` is a meta cap and `$object_id` is passed, whether the current user has the given meta capability for the given object.
相关
  • WP_User::has_cap()
  • map_meta_cap()
定义位置
相关方法
current_user_can_for_blogset_current_userget_current_user_idwp_get_current_userwp_set_current_user
引入
2.0.0
弃用
-

current_user_can: 这个函数检查当前用户是否有特定的权限,如编辑文章或管理选项。它通常用于WordPress代码中,根据用户角色和权限限制对某些功能或内容的访问。

返回当前用户是否拥有指定的权限。

这个函数也接受一个对象的ID,以检查该权限是否是元权限。元权限,如`edit_post`和`edit_user`是由`map_meta_cap()`函数用来映射到一个用户或角色拥有的原始权限,如`edit_posts`和`edit_others_posts`。

使用实例:
current_user_can( ‘edit_posts’ );
current_user_can( ‘edit_post’, $post->ID );
current_user_can( ‘edit_post_meta’, $post->ID, $meta_key );

虽然部分支持用特定的角色代替权限进行检查,但不鼓励这种做法,因为它可能产生不可靠的结果。

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

function current_user_can( $capability, ...$args ) {
	return user_can( wp_get_current_user(), $capability, ...$args );
}

常见问题

FAQs
查看更多 >