2016-04-30 8 views
1

何らかの理由で現在のログインユーザ名を表示するためにWP-APIを取得できません。WP-API with functions.phpでcurrent_userを使用しているユーザ名を取得できません

のfunctions.php

add_action('plugins_loaded', 'get_user_info'); 

function get_user_info(){ 
    global $current_user; 
    get_currentuserinfo(); 

    return $current_user; 
} 

add_action('rest_api_init', function() { 
    register_rest_route('cala', '/get', array(
     'methods' => 'GET', 
     'callback' => 'get_user_info', 
    )); 
}); 

JSON

{ 
    "data": { 

    }, 
    "ID": 0, 
    "caps": [ 

    ], 
    "cap_key": null, 
    "roles": [ 

    ], 
    "allcaps": [ 

    ], 
    "filter": null 
} 

これはどちらかの最良の方法である場合、私はわかりません。ありがとうございました。

答えて

-3

Id "0"は、現在のユーザーがログアウトしている(ビジター)ことを意味します。リクエストを発行するときにセッションのステータスを確認してください。

wp_get_current_user()またはget_current_user_id()を試してみてください。おそらくもっとうまくいくでしょう。

+0

まだ動作していません。 $ current_userは、テンプレートページ内でvar_dumpを使用すると機能します。 functions.phpではなく、WP-APIで取得するだけです。 –

+1

この回答は間違っていますが、動作しません。それは、rest_api_initフックが発生したときにグローバルユーザに関連するものは何も初期化されていないようです...私はこれを解決する方法を見つけませんでした。 – mcartur

+0

私はmcarturに同意します。 rest_api_initの登録済みアクション内でregister_rest_routeが呼び出された時点で、ログインしているユーザーにアクセスできません – justadev

関連する問題