wordpress / latest / functions / wp_set_current_user.html

wp_set_current_user( int|null $id, string $name = '' ): WP_User

Changes the current user by ID or name.

Description

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.

Parameters

$id int|null Required
User ID.
$name string Optional
User's username.

Default: ''

Return

WP_User Current user User object.

More Information

This function can be replaced via plugins. If plugins do not redefine these functions, then this will be used instead.

Source

File: wp-includes/pluggable.php. View all references

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;
}

Hooks

Uses

Uses Description

Used By

Used By Description

Changelog

Version Description
2.0.3 Introduced.

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_set_current_user