web-dev-qa-db-ja.com

現在のユーザーが機能しないようにする

現在のユーザー情報を取得するためにこのコードを試していましたが、何も表示されませんでした。私の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:

1
Abdus

あなたはコメントされたセクションに与えられた "安全な使用法"の代替案を試してみましたか?

私は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行のラッパーに過ぎないのですが、それでもなお上記はうまくいくはずです。

7
Johannes Pille

より前のWordpress 4.5get_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の後に行われていることを確認することが重要です。

1
Bryan Willis

これが現在のユーザーを取得する方法です。

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.';
}
1
AjayShanker