填写您的邮件地址,订阅我们的精彩内容:

wordpress中对已经登录用户的权限、管理级别的判断

953

在wordpress后台中,我们可以看到用户有“订阅者、投稿者、作者、编辑、管理员”五个组别,他们的权限不同能进行的操作也自然不同,我们在对wordpress用户的权限进行判断的时候,最主要的依据及这五个组别,那么怎么判断当前登录用户是属于什么组别,拥有什么权限呢?

1、用户组别权限一览表:

从上表中,我们可以发现对应的用户组所拥有的权限。那么怎么去判断用户的权限呢?或许你已经发现了,就是user_level,在数据库中,这个值被放在usermeta表中。这个值可以用get_userdata(get_current_user_id())或get_usermeta(get_current_user_id()),将他们的值放在$current_user中,再$current_user->user_level即可获得。

2、current_user_can()函数来判断用户是否有某权限

该函数参数即为上表中的某个字段,例如current_user_can(‘upload files’)来判断用户是否有上传文件的权限。

那么怎么判断这个用户是什么权限呢,把参数换为level_10即可,对应的权限表如下:

看如下图表

Capability Administrator Editor Author Contributor Subscriber
level_10
level_9
level_8
level_7
level_6
level_5
level_4
level_3
level_2
level_1
level_0

这个图表展示了WordPress各个用户组所对应的级别,那么我们需要来判断是否为管理员,也就是Administrator。

用法如下:

if(current_user_can(‘level_10’)){
//加入符合管理员后需要添加的内容
}

这样,你基本能解决wordpress中所有用户权限的问题了。

可能需要用到的函数:

get_userdata()

get_current_user_id()//获取当前登录用户的ID

get_user_meta()

wp_get_current_user()

下面我简单说几句