wordpress get_users 在使用字段 arg 时返回额外的字段

问题描述 投票:0回答:1

我正在尝试使用 get_users 返回我的 WordPress 网站的用户。但是,当我将字段数组作为参数传递时,我在结果中发现 ID 在结果中出现了两次。如果我只发送“ID”而不是添加显示名称,那么我只会获得 1 个 ID。

//$args = array(
    //'fields' => array('ID','display_name')
 //); - same behavior as below
$args = array();
$args['fields'] = array('id','display_name');
$users = get_users($args);
echo json_encode($users);

结果:

[{"ID":"1","display_name":"[email protected]","id":"1"},{"ID":"7","display_name":"John Brooks","id":"7"},{"ID":"11","display_name":"Josh Green","id":"11"},{"ID":"13","display_name":"Karyn Ross","id":"13"},{"ID":"9","display_name":"Mark Cunningham","id":"9"},{"ID":"6","display_name":"Noah Goellner","id":"6"},{"ID":"14","display_name":"Roderick Hennl","id":"14"},{"ID":"8","display_name":"Randy Olson","id":"8"},{"ID":"12","display_name":"[email protected]","id":"12"},{"ID":"5","display_name":"Troy Davidson","id":"5"}]
php wordpress
1个回答
0
投票
默认情况下,

get_users
始终包含
user_login
字段,即使未在 fields 参数中指定也是如此。

如果只获取用户ID和显示名称,可以稍微修改一下代码。

$args = array();
$users = get_users($args);

$filtered_users = array();

foreach ($users as $user) {
  $filtered_users[] = array(
     'ID' => $user->ID,
     'display_name' => $user->display_name
   );
}

echo json_encode($filtered_users);
© www.soinside.com 2019 - 2024. All rights reserved.