get current user not working

时间:2012-06-02 作者:Abdus

我尝试使用此代码获取当前用户信息,但没有显示任何信息。我的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 />\';
?> 

The output is:

用户名:

用户电子邮件:

用户名:

用户姓氏:

用户显示名称:

用户ID:

3 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

您是否尝试过使用评论部分中给出的“安全使用”选项?

老实说,我对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() 应该做同样的事情,因为它只不过是上面前两行的包装,尽管如此,上面的内容还是要起作用的。

SO网友:AjayShanker

以下是获取当前用户的方法:

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

SO网友:Bryan Willis

之前Wordpress 4.5 get_currentuserinfo() 是一个可接受的选项,但现在已被弃用,取而代之的是wp_get_current_user().

您可以设置wp_get_current_user() 作为一个变量,可以在函数或页面中轻松访问它:

$current_user = wp_get_current_user();

Example:

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.\';

}

Also, it\'s important to make sure this is all being done after init to avoid blank output.

结束