我如何获取所有用户的元数据?
How do i grab all users with their meta data?
我正在建立一个拥有大约 7500 名用户的网站。我想要的是获取我所有的用户和他们的元数据,并通过我自己构建的 rest api 调用 return 将其提供给我。目前,我很难 return 处理我们所有用户的元数据,而不仅仅是一个用户的元数据。
我已经构建了自定义端点并且可以成功 return 用户
add_action( 'rest_api_init', 'my_register_route' );
function my_register_route() {
register_rest_route( 'map/v1', 'test', array(
'methods' => 'GET',
'callback' => 'custom_phrase',
)
);
}
function custom_phrase() {
$users = get_users( array( 'fields' => array( 'ID' ) ) );
foreach($users as $user_id){
return (get_user_meta ( $user_id->ID));
}
}
我希望端点 return 我的所有用户 meta_data 和 user_data 在一起,而不仅仅是索引中的最终用户。
更新:我觉得我快到了,但数组中的每个索引都返回完全相同的信息。更不用说我在获取 Active_Memberships 值时不成功,这是一个数组,然后才到达我。
function custom_phrase($request_data) {
$parameters = $request_data->get_params();
$state = $parameters['state'];
$users = get_users(array(
'meta_key' => 'active state membership',
'meta_value' => $state,
));
$stack = array();
foreach($users as $user_id) {
$user_meta = get_user_meta ($user_id -> ID);
$obj->display_name = $user_id -> display_name;
$obj->memberships = $user_meta -> active_memberships;
array_push($stack, $obj);
}
return $stack;
}
您在循环中使用 return,因此它会在第一次迭代时 return。
只需创建一个变量来存储元数据:
function custom_phrase() {
$users = get_users( array( 'fields' => array( 'ID' ) ) );
$data = [];
foreach($users as $user_id){
$data []= get_user_meta ( $user_id->ID);
}
return $data;
}
我正在建立一个拥有大约 7500 名用户的网站。我想要的是获取我所有的用户和他们的元数据,并通过我自己构建的 rest api 调用 return 将其提供给我。目前,我很难 return 处理我们所有用户的元数据,而不仅仅是一个用户的元数据。
我已经构建了自定义端点并且可以成功 return 用户
add_action( 'rest_api_init', 'my_register_route' );
function my_register_route() {
register_rest_route( 'map/v1', 'test', array(
'methods' => 'GET',
'callback' => 'custom_phrase',
)
);
}
function custom_phrase() {
$users = get_users( array( 'fields' => array( 'ID' ) ) );
foreach($users as $user_id){
return (get_user_meta ( $user_id->ID));
}
}
我希望端点 return 我的所有用户 meta_data 和 user_data 在一起,而不仅仅是索引中的最终用户。
更新:我觉得我快到了,但数组中的每个索引都返回完全相同的信息。更不用说我在获取 Active_Memberships 值时不成功,这是一个数组,然后才到达我。
function custom_phrase($request_data) {
$parameters = $request_data->get_params();
$state = $parameters['state'];
$users = get_users(array(
'meta_key' => 'active state membership',
'meta_value' => $state,
));
$stack = array();
foreach($users as $user_id) {
$user_meta = get_user_meta ($user_id -> ID);
$obj->display_name = $user_id -> display_name;
$obj->memberships = $user_meta -> active_memberships;
array_push($stack, $obj);
}
return $stack;
}
您在循环中使用 return,因此它会在第一次迭代时 return。
只需创建一个变量来存储元数据:
function custom_phrase() {
$users = get_users( array( 'fields' => array( 'ID' ) ) );
$data = [];
foreach($users as $user_id){
$data []= get_user_meta ( $user_id->ID);
}
return $data;
}