在编写 WordPress 主题的时候,很多都有一些这样的特殊的需求,比如给管理员评论加上特殊的标记,比如给管理员输出特殊的内容等等。完成这些要求就需要去判断当前登陆用户是不是管理员。
网上很多人都说说用 is_admin 这个函数判断当前登陆用户是不是管理员,其实这个函数只是用来判断是否显示控制板或管理栏,也就是说是否处于后台控制面板中。这样这个函数对于前台模板这样的需求是没有用了。
后来经过再次查找,其实应该是 current_user_can() 这个函数,这个函数用来判断当前用户是否具有某级别的权限,WordPress 中用户权限如下表所示
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,我们就用 level_10。判断代码就如下
if(current_user_can('level_10')){
//加入符合管理员后需要添加的内容
}
这样想判断其他级别的用户也就是换个级别就可以了,利用这个我们就可以做出很多对应各个用户组的对应功能。