当前用户是否具有特定功能。

原型

current_user_can( string $capability )

描述

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

参考:

  • WP_User::has_cap()
  • map_meta_cap()

参数

$capability (string) (Required) 能力名称。

$object_id (int) (Optional)  要检查的特定对象的ID,如果$ capability是“meta”上限。 “元”功能,例如’edit_post’,‘edit_user’等是map_meta_cap()用于映射到其他“原始”能力的能力,例如, ‘edit_posts’,‘edit_others_posts’等。通过func_get_args()访问并传递给WP_User :: has_cap(),然后传递给map_meta_cap()。

返回值

(bool)  当前用户是否具有给定的功能。如果

源文件

路径:wp-includes/capabilities.php

<?php
...
function current_user_can( $capability ) {
	$current_user = wp_get_current_user();
	if ( empty( $current_user ) )
		return false;
	$args = array_slice( func_get_args(), 1 );
	$args = array_merge( array( $capability ), $args );
	return call_user_func_array( array( $current_user, 'has_cap' ), $args );
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/current_user_can/