有谁知道函数
get_users
是否支持一系列用户角色?我的猜测是不会。
我有以下有效的方法:
$args =array(
'role' => 'line_manager'
);
$blogusers = get_users($args);
foreach ($blogusers as $user) {
然后我将上面的内容调整为如下所示,它返回空。
$args =array(
'role' => array('line_manager','administrator')
);
$blogusers = get_users($args);
foreach ($blogusers as $user) {
如果它不支持数组,除了执行
wp_query
之外还有其他解决方法吗?
是的,你是对的,它不支持数组。
这是在 SQL 查询中使用的字符串
LIKE '%\"line_manager\"%'
。
array_merge
就可以解决这个问题:
$argsa =array( 'role' => 'administrator' );
$a = get_users( $argsa );
$argsb =array( 'role' => 'line_manager' );
$b = get_users( $argsb );
$users = array_merge( $a, $b );
pre_user_query
,但这似乎有点过分了。
正如 @brasofilo 所说,您本质上需要构建单独的查询并组合结果。这是另一种稍微简短的 {example} 方法 - 假设您只想收集 ID:
$custom_ids = implode(',',get_users('role=administrator&field=ID'));
$custom_ids .= ",".implode(',',get_users('role=line_manager&field=ID'));