get_user_by( string $field, int|string $value )

Retrieve user info by a given field


Description Description


Parameters Parameters

$field

(string) (Required) The field to retrieve the user with. id | ID | slug | email | login.

$value

(int|string) (Required) A value for $field. A user ID, slug, email address, or login name.


Top ↑

Return Return

(WP_User|false) WP_User object on success, false on failure.


Top ↑

Source Source

File: wp-includes/pluggable.php

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

Top ↑

Changelog Changelog

Changelog
Version Description
4.4.0 Added 'ID' as an alias of 'id' for the $field parameter.
2.8.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 2 content
    Contributed by Codex

    Sample response of

    $author_obj = get_user_by('id', 1);
    


    object(WP_User)#96 (7) {
    ["data"]=>
    object(stdClass)#95 (10) {
    ["ID"]=>
    string(1) "1"
    ["user_login"]=>
    string(10) "superadmin"
    ["user_pass"]=>
    string(34) "$P$Bx0Jgq6/Qw/o3A5fXcVKg4jxQr2PAB1"
    ["user_nicename"]=>
    string(10) "superadmin"
    ["user_email"]=>
    string(16) "[email protected]"
    ["user_url"]=>
    string(0) ""
    ["user_registered"]=>
    string(19) "2014-02-21 21:31:40"
    ["user_activation_key"]=>
    string(0) ""
    ["user_status"]=>
    string(1) "0"
    ["display_name"]=>
    string(10) "superadmin"
    }
    ["ID"]=>
    int(1)
    ["caps"]=>
    array(1) {
    ["administrator"]=>
    bool(true)
    }
    ["cap_key"]=>
    string(25) "wp_capabilities"
    ["roles"]=>
    array(1) {
    [0]=>
    string(13) "administrator"
    }
    ["allcaps"]=>
    array(63) {
    ["switch_themes"]=>
    bool(true)
    ["edit_themes"]=>
    bool(true)
    ["activate_plugins"]=>
    bool(true)
    ["edit_plugins"]=>
    bool(true)
    ["edit_users"]=>
    bool(true)
    ["edit_files"]=>
    bool(true)
    ["manage_options"]=>
    bool(true)
    ["moderate_comments"]=>
    bool(true)
    ["manage_categories"]=>
    bool(true)
    ["manage_links"]=>
    bool(true)
    ["upload_files"]=>
    bool(true)
    ["import"]=>
    bool(true)
    ["unfiltered_html"]=>
    bool(true)
    ["edit_posts"]=>
    bool(true)
    ["edit_others_posts"]=>
    bool(true)
    ["edit_published_posts"]=>
    bool(true)
    ["publish_posts"]=>
    bool(true)
    ["edit_pages"]=>
    bool(true)
    ["read"]=>
    bool(true)
    ["level_10"]=>
    bool(true)
    ["level_9"]=>
    bool(true)
    ["level_8"]=>
    bool(true)
    ["level_7"]=>
    bool(true)
    ["level_6"]=>
    bool(true)
    ["level_5"]=>
    bool(true)
    ["level_4"]=>
    bool(true)
    ["level_3"]=>
    bool(true)
    ["level_2"]=>
    bool(true)
    ["level_1"]=>
    bool(true)
    ["level_0"]=>
    bool(true)
    ["edit_others_pages"]=>
    bool(true)
    ["edit_published_pages"]=>
    bool(true)
    ["publish_pages"]=>
    bool(true)
    ["delete_pages"]=>
    bool(true)
    ["delete_others_pages"]=>
    bool(true)
    ["delete_published_pages"]=>
    bool(true)
    ["delete_posts"]=>
    bool(true)
    ["delete_others_posts"]=>
    bool(true)
    ["delete_published_posts"]=>
    bool(true)
    ["delete_private_posts"]=>
    bool(true)
    ["edit_private_posts"]=>
    bool(true)
    ["read_private_posts"]=>
    bool(true)
    ["delete_private_pages"]=>
    bool(true)
    ["edit_private_pages"]=>
    bool(true)
    ["read_private_pages"]=>
    bool(true)
    ["delete_users"]=>
    bool(true)
    ["create_users"]=>
    bool(true)
    ["unfiltered_upload"]=>
    bool(true)
    ["edit_dashboard"]=>
    bool(true)
    ["update_plugins"]=>
    bool(true)
    ["delete_plugins"]=>
    bool(true)
    ["install_plugins"]=>
    bool(true)
    ["update_themes"]=>
    bool(true)
    ["install_themes"]=>
    bool(true)
    ["update_core"]=>
    bool(true)
    ["list_users"]=>
    bool(true)
    ["remove_users"]=>
    bool(true)
    ["add_users"]=>
    bool(true)
    ["promote_users"]=>
    bool(true)
    ["edit_theme_options"]=>
    bool(true)
    ["delete_themes"]=>
    bool(true)
    ["export"]=>
    bool(true)
    ["administrator"]=>
    bool(true)
    }
    ["filter"]=>
    NULL
    }

  2. Skip to note 3 content
    Contributed by Joseph G.

    I always prefer to check if the variable ($user) is empty or not before echoing any properties of the $user object:

    $user = get_user_by( ’email’, ‘[email protected]’ );

    if ( ! empty( $user ) ) {
    echo ‘User is ‘ . $user->first_name . ‘ ‘ . $user->last_name;
    }

    This is to keep things clean and prevent error messages and warnings.

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