current_user_can
使用角色时不提供所需的输出。有一个trac ticket #22624 解释这一切。它是通过以下方式关闭的
关键词关闭已删除
等待审核的里程碑已删除分辨率设置为wontfix
状态从新建更改为关闭
我的解决方案是获得特色用户的角色,然后对照特定的
roles第一件事是检索作者的角色get_queried_object()->roles
然后检查所需角色是否在数组中,如果在数组中,请执行某些操作。这是代码
$user_role = get_queried_object()->roles[0];
if( in_array( strtolower(\'Editor\'), $user_role ) ) {
//Do something for Editor
}elseif( in_array( strtolower(\'Contributor\'), $user_role ) ) {
//Do something for Contributor
}
EDIT
用户角色以大写字母开头,但从
get_queried_object()->roles
以小写字母开头。这就是为什么我在代码中使用角色,并使用
strtolower
将角色转换为小写