为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用元数据获取所有用户?

如何使用元数据获取所有用户?

PHP
蓝山帝景 2021-08-27 09:35:35
我正在建立一个拥有大约 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;

}


查看完整回答
反对 回复 2021-08-27
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信