get_user_by

The timeline below displays how wordpress function get_user_by has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Retrieves user info by a given field.
 *
 * @since 2.8.0
 * @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
 *
 * @global WP_User $current_user The current user object which holds the user data.
 *
 * @param string     $field The field to retrieve the user with. id | ID | slug | email | login.
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 9.5

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 * @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
 *
 * @global WP_User $current_user The current user object which holds the user data.
 *
 * @param string     $field The field to retrieve the user with. id | ID | slug | email | login.
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 5.9

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 * @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
 * @since 5.8.0 Returns the global `$current_user` if it's the user being fetched.
 *
 * @global WP_User $current_user The current user object which holds the user data.
 *
 * @param string     $field The field to retrieve the user with. id | ID | slug | email | login.
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    global $current_user;
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    if ($current_user instanceof WP_User && $current_user->ID === (int) $userdata->ID) {
        return $current_user;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 8.6

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 * @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
 *
 * @global WP_User $current_user The current user object which holds the user data.
 *
 * @param string     $field The field to retrieve the user with. id | ID | slug | email | login.
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 5.8

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 * @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
 * @since 5.8.0 Returns the global `$current_user` if it's the user being fetched.
 *
 * @global WP_User $current_user The current user object which holds the user data.
 *
 * @param string     $field The field to retrieve the user with. id | ID | slug | email | login.
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    global $current_user;
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    if ($current_user instanceof WP_User && $current_user->ID === (int) $userdata->ID) {
        return $current_user;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 4.4

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 * @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
 *
 * @param string     $field The field to retrieve the user with. id | ID | slug | email | login.
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 4.3

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 *
 * @param string     $field The field to retrieve the user with. id | slug | email | login
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|false WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}

WordPress Version: 3.7

/**
 * Retrieve user info by a given field
 *
 * @since 2.8.0
 *
 * @param string $field The field to retrieve the user with. id | slug | email | login
 * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
 * @return WP_User|bool WP_User object on success, false on failure.
 */
function get_user_by($field, $value)
{
    $userdata = WP_User::get_data_by($field, $value);
    if (!$userdata) {
        return false;
    }
    $user = new WP_User();
    $user->init($userdata);
    return $user;
}