説明
wp_get_current_user() は、現在ログインしているユーザーのオブジェクトを返す関数です。
基本構文
wp_get_current_user(): WP_User
引数
引数はありません。
戻り値
WP_User オブジェクト。未ログインなら ID が 0 のオブジェクト。
使い方(サンプル)
$user = wp_get_current_user();
if ( $user->exists() ) {
var_dump( $user->display_name );
}
注意点
- ログインしていなくてもオブジェクトが返るため、
exists()やis_user_logged_in()で判定します。 plugins_loadedより前に呼ぶと、ユーザー情報を取得できません。
実務での使いどころ
- ログイン中のユーザーの、表示名やメールアドレスなどを取得するとき。
- ログイン中のユーザーのIDを、メタの取得や保存に使うとき(
get_user_meta()など)。 - ユーザーのロール(
roles)を確認するとき。
よくあるミスと対処
- ログインしていないとき、
nullではなく、IDが0のユーザーオブジェクトが返る。ログインの判定には、$user->exists()かis_user_logged_in()を使う。 initフックより前に呼び、ユーザーが決まっていない。- ロールの文字列で、権限を判定している。権限の判定には、
current_user_can()を使う。
NG例
$user = wp_get_current_user();
if ( $user ) {
// ログインしているつもり(未ログインでも、オブジェクトが返る)
}
OK例
$user = wp_get_current_user();
if ( $user->exists() ) {
echo esc_html( $user->display_name );
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 現在のユーザーのオブジェクト | wp_get_current_user() |
| 現在のユーザーのID | get_current_user_id() |
| ログインしているか判定 | is_user_logged_in() |
関連項目
get_current_user_id()、is_user_logged_in()、get_userdata()
公式リファレンス:wp_get_current_user() | Function | WordPress Developer Resources

コメント