user_can(int | object$user,string$capability)
特定用户是否具有功能或角色。
文档中说,这应该适用于功能,但到目前为止,它只适用于角色。This is being run during plugin deactivation.
使用功能作为参数返回false:
user_can( $user_id, \'read\' )
使用角色作为参数返回true:
user_can( $user_id, \'my_custom_role\' )
我已确认用户有使用的能力var_dump( get_userdata( $user_id ) );
输出摘录:
public \'allcaps\' =>
array (size=3)
\'my_custom_cap\' => boolean true
\'read\' => boolean true
\'my_custom_role\' => boolean true
为什么
user_can()
认识角色,但不认识能力?
如果你看看source 对于user_can()
, 它依赖于get_userdata()
也为什么它看到一个,但看不到另一个?谁能复制这个,还是只有我?
编辑:我已经确认user_can( $user_id, \'read\' )
退货true 在主插件期间,但在停用期间运行时,它似乎没有返回值。在插件停用期间,有人能让这个返回true吗?为什么它返回的是空值而不是true或false?