Return WP_User objects when querying 'all' fields with WP_User_Query.
Allow passing stdClass or WP_User to the WP_User constructor. fixes #22057 git-svn-id: https://develop.svn.wordpress.org/trunk@22248 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
9e8cd23bdb
commit
1d02d4bf27
|
@ -459,7 +459,7 @@ class WP_User {
|
||||||
* @since 2.0.0
|
* @since 2.0.0
|
||||||
* @access public
|
* @access public
|
||||||
*
|
*
|
||||||
* @param int|string $id User's ID
|
* @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 string $name Optional. User's username
|
||||||
* @param int $blog_id Optional Blog ID, defaults to current blog.
|
* @param int $blog_id Optional Blog ID, defaults to current blog.
|
||||||
* @return WP_User
|
* @return WP_User
|
||||||
|
@ -477,6 +477,14 @@ class WP_User {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( is_a( $id, '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 ) ) {
|
if ( ! empty( $id ) && ! is_numeric( $id ) ) {
|
||||||
$name = $id;
|
$name = $id;
|
||||||
$id = 0;
|
$id = 0;
|
||||||
|
|
|
@ -559,6 +559,10 @@ class WP_User_Query {
|
||||||
$r[ $userid ] = new WP_User( $userid, '', $qv['blog_id'] );
|
$r[ $userid ] = new WP_User( $userid, '', $qv['blog_id'] );
|
||||||
|
|
||||||
$this->results = $r;
|
$this->results = $r;
|
||||||
|
} elseif ( 'all' == $qv['fields'] ) {
|
||||||
|
foreach ( $this->results as $key => $user ) {
|
||||||
|
$this->results[ $key ] = new WP_User( $user );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue