Getting user data via ajax

时间:2020-09-05 作者:user8463989

我正在尝试在前端列出具有“成员”角色的注册用户。我有很多高级自定义字段供用户使用,但我不知道如何获取这些字段。我安装了“AFC到rest”插件,该插件为我提供了一个端点,该端点具有用户的所有高级自定义字段,但没有名字、姓氏等标准字段。

因此,我不知道是否最好忘记ACF to rest插件并以不同的方式进行操作,或者使用该插件但以某种方式获取标准用户字段。目前我正在创建自己的路线:

add_action( \'rest_api_init\', \'rest_members_endpoint\' );
function rest_members_endpoint() {
    $namespace = \'rest/v1/\';

    register_rest_route( $namespace, \'members/\', array(
        \'methods\'   => \'GET\',
        \'callback\'  => \'list_members\',
    ) );
}


function list_members( $request ) {
$params = $request->get_params();

    $args = array(
        \'role\'    => \'member\',
    );

$wp_user_query = new WP_User_Query( $args );
$members = $wp_user_query->get_results();

    return new WP_REST_Response(array(\'members\' => $members), 200);
}
ajax:

$.ajax({
  method: \'GET\',
  url: mySiteData.api_url + \'members/\',
  beforeSend: function ( xhr ) {
      xhr.setRequestHeader( \'X-WP-Nonce\', mySiteData.nonce );
  },
})
这将返回ID、显示名、user\\u email、user\\u nicename,但没有名字和姓氏,也没有高级自定义字段。

1 个回复
SO网友:Raashid Din

一旦在members变量中获得用户id。然后你必须使用get_post_meta 获取成员的自定义数据,因为ACF使用元框。之后,将数据与members变量合并,然后将变量传递给WP\\u REST\\u Response类。我本来会发表评论的,但那个声誉,所以张贴了答案,希望你们不介意,希望它有帮助。

相关推荐

为什么GET_USERS()不在管理后端工作?

我不明白为什么get_users() 可在前端工作,但不能在管理后端工作。我相信这在某种程度上是可行的。我的代码:function add_new_user_menu_item() { remove_submenu_page(\'users.php\', \'user-new.php\'); $submenu_title = __( \'Add new\', \'myplugin\' ); add_submenu_page(