web-dev-qa-db-ja.com

現在のユーザーを取得する

私は自分がデザインしているプラ​​グインの中で現在のユーザーについての情報を使用しようとしています。

私のやり方

この方法はうまくいくようですが、何かが足りないのですか。

global $current_user;

// Use information
echo "User ID: " . $current_user->user_id;
echo "User First Name: " . $current_user->first_name;

グローバル変数$ current_userを宣言した後、次の行で関数get_currentuserinfo()を呼び出す人がいます。しかし、これはその呼び出しなしで動作するようです - それは必要ですか?

また、関数wp_get_current_user()があります - これとget_currentuserinfo()の違いは何ですか?

また、ユーザーオブジェクトに設定するために$profileuserというグローバル変数を使い、get_user_to_edit()を使う人もいます。これにはいくつかの利点がありますか?

$user_IDを使うことに加えて、人々が$current_userグローバル変数を直接参照するのも見ました。なぜ彼らは単に$current_user->IDを使わないのですか?

2
William
  1. グローバル変数$current_userを宣言した後、次の行で関数get_currentuserinfo()を呼び出します

  2. wp_get_current_user()get_currentuserinfo()の違いは何ですか?

以下はスニペットです。

function wp_get_current_user() {

    global $current_user;

    get_currentuserinfo();

    return $current_user;
}

私はソースコードがあなたの最初の二つの質問に答えていると思いますよね?

wp_get_current_user()wp-includes/pluggable.phpで定義されているので、上書きすることができます。

また、WordPressが初期化中にwp_get_current_user()を呼び出すため、global $current_userを使い続けるのが安全です。

具体的には、wp-settings.php - > new WP - > WP - > init() - > wp_get_current_user


このグローバル変数$profileuserの使用法は、あなたがユーザーを編集している時(user-edit.php)にのみ利用可能で、データはそれになります。

最後の1つの質問私は答えの仕方がよくわからないので他の人に任せます。

気にしないでください。

8
Jesse