user_can 和 current_user_can 判断用户是否有某个权限或是否为某个角色

发布于:
更新时间:2024-08-01

函数描述

判断用户是否有某个权限或是否为某个角色,比如我们需要判断当前登录的用户是否为管理员,或者是否有作者权限。user_can 和 current_user_can 的功能一样,返回结果也一样,current_user_can 只是 user_can 的一个封装。

使用方法

user_can

current_user_can( $user, $capability, $args );
参数数据类型是否必需描述默认值
$user整数|WP_User 对象用户 ID 或用户对象
$capability字符串角色或权限名称
$args多种可选参数,通常为对象 ID。

current_user_can

current_user_can 其实就是 user_can 的一个快捷方式,把当前登录的用户作为了 user_can 的第一个参数 $user 提供了过去。

current_user_can( $capability, $args );

参数

参数数据类型是否必需描述默认值
$capability字符串角色或权限名称
$args多种可选参数,通常为对象 ID。

返回值

(布尔值) 指定的用户是否有某个权限或是否为某个角色。

使用示例

判断当前用户是否可以编辑某文章。

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 '只有管理员才可以看到的文字。';
}

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

*