web-dev-qa-db-ja.com

ユーザーが残りのAPIから電子メール(および追加データ)を取得する方法を教えてください。

REST AP​​Iを使用してユーザーから電子メールアドレスを取得する方法を教えてください。私はnonceで認証しています、そして私はPOST要求をしてものを変更できるのでそれはうまくいっているようです。ユーザー情報をすべて返すようにするために何か追加する必要がありますか?

これは私の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);
1
Johan Dahl

あなたの出力にemailフィールドを追加するべきです。

現在のテーマのfunctions.phpでbelowフックを使用してください。

register_rest_field( 'user', 'user_email',
    array(
        'get_callback'    => function ( $user ) {
            return $user['email'];
        },
        'update_callback' => null,
        'schema'          => null,
    )
);

しかし、それはお勧めできません!誰もが電子メールを見ることができるからです。

4
Mostafa Soufi