/** * Constructor * * Retrieves the userdata and passes it to {@link WP_User::init()}. * * @since 2.0.0 * @access public * * @param int|string $id User's ID * @param string $name Optional. User's username * @param int $blog_id Optional Blog ID, defaults to current blog. * @return WP_User */ function __construct($id = 0, $name = '', $blog_id = '') { if (!isset(self::$back_compat_keys)) { $prefix = $GLOBALS['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 (!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, $blog_id); } }
/** * Constructor. * * Retrieves the userdata and passes it to WP_User::init(). * * @since 2.0.0 * @access public * * @param int|string|stdClass|WP_User $id User's ID, a WP_User object, or a user object from the DB. * @param string $name Optional. User's username * @param int $blog_id Optional Site ID, defaults to current site. */ public function __construct($id = 0, $name = '', $blog_id = '') { $this->db = $GLOBALS['wpdb']; if (!isset(self::$back_compat_keys)) { $prefix = $this->db->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, $blog_id); return; } elseif (is_object($id)) { $this->init($id, $blog_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, $blog_id); } else { $this->data = new stdClass(); } }