据我所知,这可能多年来有所改变,但现在不是了\'wp_capabilities\'
. 我查看了核心WP文件,了解了它们现在的工作方式,并找到了一个新的解决方案。下面是我现在使用的代码:
global $wpdb;
$cap = get_user_meta( $wp_user_id, $wpdb->get_blog_prefix() . \'capabilities\', true );
$cap
然后作为关联数组出现,例如:
{
"administrator": true
}
或
{
"subscriber": true
}
因此,在您的情况下,您可能应该获得数组的键:
$caps_array = array_keys( $cap );
然后从中获得一切。我需要查看用户是否具有管理员角色,因此我选中了:
if ( is_array( $cap ) && !empty( $cap[\'administrator\'] ) ) { return true; }
我有一个用户ID,而不是整个
WP_User
对象,我不想使用任何会创建
user
对象我查过了,
get_user_meta
直接转到db来检查这个精确的参数,因此这应该是最快的和资源方面的路由。