WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/get currentuserinfo

Contents

Description

Retrieves the information pertaining to the currently logged in user, and places it in the global variable $current_user. Properties map directly to the wp_users table in the database (see Database Description).

Also places the individual attributes into the following separate global variables:

  • $user_login
  • $user_ID (Equal $current_user->ID, not $current_user->user_ID)
  • $user_email
  • $user_url (User's website, as entered in the user's Profile)
  • $user_pass (The phpass hash of the user password - useful for comparing input at a password prompt with the actual user password.)
  • $display_name (User's name, displayed according to the 'How to display name' User option)
  • $user_identity (User's name, displayed according to the 'How to display name' User option (since 3.0))

Usage

 <?php get_currentuserinfo(); ?> 

Examples

Default Usage

The call to get_currentuserinfo() places the current user's info into $current_user, where it can be retrieved using member variables.

<?php global $current_user;
      get_currentuserinfo();

      echo 'Username: ' . $current_user->user_login . "\n";
      echo 'User email: ' . $current_user->user_email . "\n";
      echo 'User first name: ' . $current_user->user_firstname . "\n";
      echo 'User last name: ' . $current_user->user_lastname . "\n";
      echo 'User display name: ' . $current_user->display_name . "\n";
      echo 'User ID: ' . $current_user->ID . "\n";
?>
Username: Zedd

User email: my@email.com
User first name: John
User last name: Doe
User display name: John Doe

User ID: 1

Using Separate Globals

Much of the user data is placed in separate global variables, which can be accessed directly.

<?php global $display_name , $user_email;
      get_currentuserinfo();

      echo $display_name . "'s email address is: " . $user_email;
?>
Zedd's email address is: john@example.com


NOTE: $display_name does not appear to work in 2.5+? Use $user_identity


<?php global $user_login , $user_email;
      get_currentuserinfo();

      echo($user_login . "'s email address is: " . $user_email;
?>

Parameters

This function does not accept any parameters.

To determine if there is a user currently logged in, do this:

<?php 
      if(!is_user_logged_in()) {
         //no user logged in
      }
?>

Here is another example:

<?php if ( is_user_logged_in() ) { ?>
    <!-- text that logged in users will see -->
<?php } else {   ?>
    <!-- here is a paragraph that is shown to anyone not logged in -->

<p>By <a href="<?php home_url(); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>

<?php } ?>

Here is yet another example using logical conditionals to restrict access to pages:

<?php if ($current_user->user_login == 'the_username') { ?>
<!-- Welcome the user or show the page content -->
<h1>Welcome <?php echo $current_user->user_firstname ?></h1>
<?php } else { ?>
<!-- Let the visitor know access is denied -->
<h1>Go away!</h1>
<?php } ?>

Source File

get_currentuserinfo() is located in wp-includes/pluggable.php.

Related

Get User Functions:

Current User Functions: get_current_user_id(), get_currentuserinfo(), wp_get_current_user(), wp_set_current_user(), current_user_can(), current_user_can_for_blog()

See also index of Function Reference and index of Template Tags.
This article is marked as in need of editing. You can help Codex by editing it.