我正在建立一個擁有大約 7500 個用戶的網站。我想要的是獲取我所有的用戶及其元數據,并通過我自己構建的 rest api 調用將其返回給我。目前我很難返回我們所有的用戶元數據,而不僅僅是一個用戶的元數據。我已經構建了自定義端點并且可以成功返回用戶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)); }}我希望端點將我的所有用戶 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;}
1 回答
溫溫醬
TA貢獻1752條經驗 獲得超4個贊
您在循環中使用 return,因此它將在第一次迭代時返回。
只需創建一個變量來存儲 meta :
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;
}
- 1 回答
- 0 關注
- 139 瀏覽
添加回答
舉報
0/150
提交
取消
