如何从REST API获取用户电子邮件(和其他数据)? 时间:2017-09-02 作者:Johan Dahl 如何使用REST API从用户那里获取电子邮件地址?我正在使用nonce进行身份验证,它似乎起到了作用,因为我可以发布请求和更改内容。我必须添加一些东西才能返回所有用户信息吗?这是我的JS:(function($) { var nonce = WPsettings.nonce; var rest_url = WPsettings.rest_url; $.ajax( { url: rest_url + \'users/\', dataType: "json", beforeSend: function ( xhr ) { xhr.setRequestHeader( \'X-WP-Nonce\', nonce ); } } ) .done( function ( response ) { console.log( response ); } ); })(jQuery); 3 个回复 最合适的回答,由SO网友:Mostafa Soufi 整理而成 您应该在输出中添加电子邮件字段。使用下面的挂钩functions.php 在当前主题中:register_rest_field( \'user\', \'user_email\', array( \'get_callback\' => function ( $user ) { return $user[\'email\']; }, \'update_callback\' => null, \'schema\' => null, ) ); 但是,不推荐!因为每个人都可以看到电子邮件。 SO网友:big_water 如果您在使用Mostafa的答案获取电子邮件时遇到问题,我最好将电子邮件检索改为:register_rest_field( \'user\', \'user_email\', array( \'get_callback\' => function ( $user ) { return get_userdata($user[\'id\'])->user_email; }, \'update_callback\' => null, \'schema\' => null, ) ); SO网友:Mohammed 我想你可以返回当前用户的电子邮件,register_rest_field( \'user\', \'user_email\', array( \'get_callback\' => function ( $user ) { return wp_get_current_user()->user_email; }, \'update_callback\' => null, \'schema\' => null, ) ); 结束 文章导航