WP_User::__construct()publicWP 2.0.0

Constructor.

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

Method of the class: WP_User{}

No Hooks.

Return

null. Nothing (null).

Usage

$WP_User = new WP_User();
$WP_User->__construct( $id, $name, $site_id );
$id(int|string|stdClass|WP_User)
User's ID, a WP_User object, or a user object from the DB.
$name(string)
User's username
Default: ''
$site_id(int)
Optional Site ID.
Default: current site

Notes

  • Global. wpdb. $wpdb WordPress database abstraction object.

Changelog

Since 2.0.0 Introduced.

WP_User::__construct() code WP 6.5.2

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