函数描述
判断用户是否有某个权限或是否为某个角色,比如我们需要判断当前登录的用户是否为管理员,或者是否有作者权限。user_can 和 current_user_can 的功能一样,返回结果也一样,current_user_can 只是 user_can 的一个封装。
Usage
user_can
current_user_can( $user, $capability, $args );
parameters | data type | Required or not | descriptive | default value |
---|---|---|---|---|
$user | 整数|WP_User 对象 | be | 用户 ID 或用户对象 | not have |
$capability | string (computer science) | be | 角色或权限名称 | not have |
$args | multi- | clogged | 可选参数,通常为对象 ID。 | not have |
current_user_can
current_user_can 其实就是 user_can 的一个快捷方式,把当前登录的用户作为了 user_can 的第一个参数 $user 提供了过去。
current_user_can( $capability, $args );
parameters
parameters | data type | Required or not | descriptive | default value |
---|---|---|---|---|
$capability | string (computer science) | be | 角色或权限名称 | not have |
$args | multi- | clogged | 可选参数,通常为对象 ID。 | not have |
return value
(布尔值) 指定的用户是否有某个权限或是否为某个角色。
usage example
判断当前用户是否可以编辑某文章。
if (current_user_can('edit_post', 1)) {
echo '当前用户可以编辑 ID 为 1 的文章';
}
如果当前用户不是管理员或没有管理访问权限,则隐藏管理员栏。
if ( ! current_user_can( 'manage_options' ) ) {
add_filter( 'show_admin_bar', '__return_false' );
}
显示只有管理员才可以看到的文字
if( current_user_can('administrator') ) {
echo '只有管理员才可以看到的文字。';
}