wp_set_current_user() – Changes the current user by ID or name.

Description

Changes the current user by ID or name.

Set $id to null and specify a name if you do not know a user's ID. Some WordPress functionality is based on the current user and not based on the signed in user. Therefore, it opens the ability to edit and perform actions on users who aren't signed in.

Usage

$WP_User = wp_set_current_user( $id, $name );

Parameters

$id
( int|null ) required – User ID.
$name
( string ) optional – User's username.

Returns

WP_User Current user User object.

Source

File name: wordpress/wp-includes/pluggable.php
Lines:

1 to 25 of 25
  function wp_set_current_user( $id, $name = '' ) {
    global $current_user;

    // If `$id` matches the current user, there is nothing to do.
    if ( isset( $current_user )
    && ( $current_user instanceof WP_User )
    && ( $id == $current_user->ID )
    && ( null !== $id )
    ) {
      return $current_user;
    }

    $current_user = new WP_User( $id, $name );

    setup_userdata( $current_user->ID );

    
/**
 * Fires after the current user is set.
 *
 * @since 2.0.1
 */
    do_action( 'set_current_user' );

    return $current_user;
  }
 

 View on GitHub View on Trac

Called by

    Invoked by

      Calls

      Call hooks

      API Letters: ,,,