WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was trying this code to get current user info, but showing nothing. My WordPress version is 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:

Username:

User email:

User first name:

User last name:

User display name:

User ID:

share|improve this question
up vote 5 down vote accepted

Have you tried to go with the "Safe usage" alternative given in the commented section?

I honestly don't have any experience with wp_get_current_user(), since I never use it, but anyhow, this ought to work:

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() should do the same, as it is nothing but a wrapper for the first two lines above, nonetheless, the above has got to work.

share|improve this answer
    
this going to give a depracation warning starting with 4.5 as get_currentuserinfois getting deprecated. – Mark Kaplun Jan 27 at 4:34
    
@Mark Obsolete call anyway. Removed. Thanks for the catch. – Johannes Pille Jan 27 at 11:14

Prior to Wordpress 4.5 get_currentuserinfo() was an acceptable option, but is now deprecated, in favor of wp_get_current_user().

You can set the wp_get_current_user() as a variable to easily access it in your function or page:

$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.

share|improve this answer

This is how you can get current user:

global $current_user;
$current_user = wp_get_current_user();

After that, you can use $current_user->ID where you want.

Example:

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.';
}
share|improve this answer
    
Why do you need/use the global? – Mark Kaplun Jan 27 at 4:32
    
Mark I just updated the answer, but to answer your question, the global is unnecessary as that is the main reason to use wp_get_current_user() (click the link to see where the function accesses the global if you're curious as to how it works). – Bryan Willis Jan 27 at 5:52

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.