有没有一种方法可以使用get\\u users()函数,或者其他方法来检索自定义用户功能的所有用户?
例如,我为选定数量的用户提供了“team\\u member”功能,允许用户访问非团队成员无法访问的区域。
由于站点的性质,不能简单地创建一个新角色。我也不能只向已经注册的角色添加功能。
我假设有一种方法可以使用get\\u用户来实现这一点,但似乎没有。除非我错了?
$args = array(
\'role\' => \'team_member\'
);
get_users( $args );
如果没有办法从自定义cap获取用户,我的下一个想法是不要使用自定义功能,而是在用户的usermeta中插入相同的密钥。这将至少允许我在get\\u user$args中包含meta\\u查询。
最合适的回答,由SO网友:M-R 整理而成
我试了一下。首先,我使用以下代码为特定用户添加了自定义功能
$user = new WP_User( $user_id );
$user->add_cap( \'team_member\' );
幸运的是,按照您的建议,可以使用以下代码检索此用户
$args = array(
\'role\' => \'team_member\'
);
get_users( $args );
隐式工作如下
$args = array (
\'meta_query\' => array(
array(
\'key\' => \'wp_capabilities\',
\'value\' => \'%team_member%\',
\'compare\' => \'LIKE\'
),
)
);
$wp_user_query = new WP_User_Query( $args );
参考号:
WP_User_Query