WP_User::__construct( int|string|stdClass|WP_User $id, string $name = , int $site_id =  )

In this article

Constructor.

Description

Retrieves the userdata and passes it to WP_User::init().

Parameters

$idint|string|stdClass|WP_Userrequired
User’s ID, a WP_User object, or a user object from the DB.
$namestringoptional
User’s username

Default:''

$site_idintoptional
Optional Site ID, defaults to current site.

Default:''

Source

public function __construct( $id = 0, $name = '', $site_id = '' ) {
	global $wpdb;

	if ( ! isset( self::$back_compat_keys ) ) {
		$prefix = $wpdb->prefix;

		self::$back_compat_keys = array(
			'user_firstname'             => 'first_name',
			'user_lastname'              => 'last_name',
			'user_description'           => 'description',
			'user_level'                 => $prefix . 'user_level',
			$prefix . 'usersettings'     => $prefix . 'user-settings',
			$prefix . 'usersettingstime' => $prefix . 'user-settings-time',
		);
	}

	if ( $id instanceof WP_User ) {
		$this->init( $id->data, $site_id );
		return;
	} elseif ( is_object( $id ) ) {
		$this->init( $id, $site_id );
		return;
	}

	if ( ! empty( $id ) && ! is_numeric( $id ) ) {
		$name = $id;
		$id   = 0;
	}

	if ( $id ) {
		$data = self::get_data_by( 'id', $id );
	} else {
		$data = self::get_data_by( 'login', $name );
	}

	if ( $data ) {
		$this->init( $data, $site_id );
	} else {
		$this->data = new stdClass();
	}
}

Changelog

VersionDescription
2.0.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.