現在のユーザー情報を取得するためにこのコードを試していましたが、何も表示されませんでした。私のWordPressのバージョンは3.3.1です
<?php
wp_get_current_user();
/**
* @example Safe usage: $current_user = wp_get_current_user();
* if ( !($current_user instanceof WP_User) )
* return;
*/
echo 'Username: ' . $current_user->user_login . '<br />';
echo 'User email: ' . $current_user->user_email . '<br />';
echo 'User first name: ' . $current_user->user_firstname . '<br />';
echo 'User last name: ' . $current_user->user_lastname . '<br />';
echo 'User display name: ' . $current_user->display_name . '<br />';
echo 'User ID: ' . $current_user->ID . '<br />';
?>
出力は次のとおりです。
ユーザー名:
ユーザーのメールアドレス:
ユーザーの名:
ユーザーの姓:
ユーザー表示名:
ユーザーID:
あなたはコメントされたセクションに与えられた "安全な使用法"の代替案を試してみましたか?
私はwp_get_current_user()
を使ったことがないので、誠意をこめて経験したことはありませんが、とにかくこれはうまくいくはずです:
global $current_user;
echo 'Username: ' . $current_user->user_login . '<br />';
echo 'User email: ' . $current_user->user_email . '<br />';
echo 'User first name: ' . $current_user->user_firstname . '<br />';
echo 'User last name: ' . $current_user->user_lastname . '<br />';
echo 'User display name: ' . $current_user->display_name . '<br />';
echo 'User ID: ' . $current_user->ID;
wp_get_current_user()
は同じことをするべきです。それは上の最初の2行のラッパーに過ぎないのですが、それでもなお上記はうまくいくはずです。
より前のWordpress 4.5
get_currentuserinfo()
は受け入れ可能なオプションでしたが、wp_get_current_user()
のために現在は非推奨です。
wp_get_current_user()
を変数として設定して、関数やページから簡単にアクセスすることができます。
$current_user = wp_get_current_user();
例:
if ( is_user_logged_in() ) {
$current_user = wp_get_current_user();
echo 'Username: ' . $current_user->user_login . '<br />';
echo 'User email: ' . $current_user->user_email . '<br />';
echo 'User first name: ' . $current_user->user_firstname . '<br />';
echo 'User last name: ' . $current_user->user_lastname . '<br />';
echo 'User display name: ' . $current_user->display_name . '<br />';
echo 'User ID: '. $current_user->ID . '<br />';
echo 'User avatar: ' . get_avatar( $current_user->ID, 64 ) . '<br />';
} else {
echo 'User not logged in.';
}
また、空白の出力を避けるために、これがすべてinit
の後に行われていることを確認することが重要です。
これが現在のユーザーを取得する方法です。
global $current_user;
$current_user = wp_get_current_user();
その後、あなたが望むところで$current_user->ID
を使うことができます。
例:
if ( is_user_logged_in() ) {
$current_user = wp_get_current_user();
echo 'Username: ' . $current_user->user_login . '--';
echo 'User email: ' . $current_user->user_email . '--';
echo 'User first name: ' . $current_user->user_firstname . '--';
echo 'User last name: ' . $current_user->user_lastname . '--';
echo 'User display name: ' . $current_user->display_name . '--';
echo 'User ID: '. $current_user->ID . '--';
} else {
echo 'User not logged in.';
}