web-dev-qa-db-ja.com

現在ログインしているユーザーのIDを取得する方法

現在ログインしているユーザーのIDを取得したい私は関数get_current_user_idを見つけました。

ユーザーが別のユーザーのプロファイルを見た場合、現在のユーザーは別のユーザーになるために変更されるのでしょうか?

要するに私はいつもログインしているユーザーのIDだけを取得する信頼できる方法を探しています。

1
Click Upvote

get_current_user_id() は、@ Giriが最初のスニペットで説明したことを効果的に行います。 Wordpressの内部関数呼び出しチェーンは、最終的に get_currentuserinfo() を呼び出します。これはすでにWP_Userオブジェクトがあるかどうかを確認します。

したがって、リンクされたコードで私が見ることができるものから、get_current_user_id()は常にログインしているユーザーのIDまたはゼロ0を返します。

現在のデフォルトテーマtwentytwelveでは、現在の作者ページが表示されているユーザーに関する情報を取得するためにget_the_author_meta()を使用しています。そのため、WPという用語の違いは、現在のログインユーザーは "user"、あるユーザーは "author"で、IDで識別されます。 12/author.php を参照してください。

2
feeela
if( is_user_logged_in() ) {   
 global $current_user;
    get_currentuserinfo();
    $userid = $current_user->ID;
}

または

これを使って

if( is_user_logged_in() ) {   
    $userid = get_current_user_id();
}
2
Giri