WordPress函数:user_can 检查用户的权限

江河/ 2023年08月13日/ WordPress/ 浏览 1311

函数原型:


user_can( int|WP_User $user, string $capability, mixed $args ): bool


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


此函数还接受对象的ID,以检查该功能是否为元功能。元功能(如edit_post和edit_user)是map_Meta_cap()函数用来映射到用户或角色所具有的基元功能的功能,如edit_posts和edit_others_posts。


参数说明:


$user,用户 ID 或 WP_User 对象


$capability,权限


$args,可选的其他参数,通常以对象ID开头。


函数源码:


function user_can( $user, $capability, ...$args ) {
	if ( ! is_object( $user ) ) {
		$user = get_userdata( $user );
	}

	if ( empty( $user ) ) {
		// User is logged out, create anonymous user object.
		$user = new WP_User( 0 );
		$user->init( new stdClass() );
	}

	return $user->has_cap( $capability, ...$args );
}


使用举例:


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


发表评论

暂无评论,抢个沙发...

客服 工单