REST API: Allow rest_get_avatar_urls()
to accept full user, post, or comment objects, rather than just an email address, to provide better flexibility for alternative avatar data.
Since the function uses `get_avatar_url()` internally, which already supports it, this should not have any backward compatibility concerns. Props donmhico, dshanske, pputzer, joehoyle, TimothyBlynJacobs. Fixes #40030. git-svn-id: https://develop.svn.wordpress.org/trunk@45632 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
a7041b951b
commit
0492ad749d
@ -1085,21 +1085,22 @@ function rest_is_boolean( $maybe_bool ) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the avatar urls in various sizes based on a given email address.
|
||||
* Retrieves the avatar urls in various sizes.
|
||||
*
|
||||
* @since 4.7.0
|
||||
*
|
||||
* @see get_avatar_url()
|
||||
*
|
||||
* @param string $email Email address.
|
||||
* @param mixed $id_or_email The Gravatar to retrieve a URL for. Accepts a user_id, gravatar md5 hash,
|
||||
* user email, WP_User object, WP_Post object, or WP_Comment object.
|
||||
* @return array $urls Gravatar url for each size.
|
||||
*/
|
||||
function rest_get_avatar_urls( $email ) {
|
||||
function rest_get_avatar_urls( $id_or_email ) {
|
||||
$avatar_sizes = rest_get_avatar_sizes();
|
||||
|
||||
$urls = array();
|
||||
foreach ( $avatar_sizes as $size ) {
|
||||
$urls[ $size ] = get_avatar_url( $email, array( 'size' => $size ) );
|
||||
$urls[ $size ] = get_avatar_url( $id_or_email, array( 'size' => $size ) );
|
||||
}
|
||||
|
||||
return $urls;
|
||||
|
@ -949,7 +949,7 @@ class WP_REST_Comments_Controller extends WP_REST_Controller {
|
||||
}
|
||||
|
||||
if ( in_array( 'author_avatar_urls', $fields, true ) ) {
|
||||
$data['author_avatar_urls'] = rest_get_avatar_urls( $comment->comment_author_email );
|
||||
$data['author_avatar_urls'] = rest_get_avatar_urls( $comment );
|
||||
}
|
||||
|
||||
if ( in_array( 'meta', $fields, true ) ) {
|
||||
|
@ -938,7 +938,7 @@ class WP_REST_Users_Controller extends WP_REST_Controller {
|
||||
}
|
||||
|
||||
if ( in_array( 'avatar_urls', $fields, true ) ) {
|
||||
$data['avatar_urls'] = rest_get_avatar_urls( $user->user_email );
|
||||
$data['avatar_urls'] = rest_get_avatar_urls( $user );
|
||||
}
|
||||
|
||||
if ( in_array( 'meta', $fields, true ) ) {
|
||||
|
Loading…
Reference in New Issue
Block a user