Accept 'ID' as a valid $field
in get_user_by()
.
We already accept 'id'. `ID` more closely matches the database and `WP_User` schemas. Props Shelob9. Fixes #33869. git-svn-id: https://develop.svn.wordpress.org/trunk@34125 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
9700eb511e
commit
974517d2bc
@ -165,18 +165,24 @@ class WP_User {
|
||||
* Return only the main user fields
|
||||
*
|
||||
* @since 3.3.0
|
||||
* @since 4.4.0 Added 'ID' as an alias of 'id' for the `$field` parameter.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @global wpdb $wpdb
|
||||
*
|
||||
* @param string $field The field to query against: 'id', 'slug', 'email' or 'login'
|
||||
* @param string $field The field to query against: 'id', 'ID', 'slug', 'email' or 'login'.
|
||||
* @param string|int $value The field value
|
||||
* @return object|false Raw user object
|
||||
*/
|
||||
public static function get_data_by( $field, $value ) {
|
||||
global $wpdb;
|
||||
|
||||
// 'ID' is an alias of 'id'.
|
||||
if ( 'ID' === $field ) {
|
||||
$field = 'id';
|
||||
}
|
||||
|
||||
if ( 'id' == $field ) {
|
||||
// Make sure the value is numeric to avoid casting objects, for example,
|
||||
// to int 1.
|
||||
|
@ -145,8 +145,9 @@ if ( !function_exists('get_user_by') ) :
|
||||
* 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 | slug | email | login
|
||||
* @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.
|
||||
*/
|
||||
|
@ -445,6 +445,16 @@ class Tests_User extends WP_UnitTestCase {
|
||||
$this->assertEquals( false, $user );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 33869
|
||||
*/
|
||||
public function test_user_get_data_by_ID_should_alias_to_id() {
|
||||
$u = $this->factory->user->create();
|
||||
|
||||
$user = WP_User::get_data_by( 'ID', $u );
|
||||
$this->assertEquals( $u, $user->ID );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 21431
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user