Languages: English • 日本語 (Add your language)
The "get_avatar" filter can be used to alter the avatar image returned by the get_avatar() function.
The Filter is used at the very end of the get_avatar() function, like this:
return apply_filters( 'get_avatar', $avatar, $id_or_email, $size, $default, $alt, $args );
There are two tricky parts to using this filter:
In this example, I am looking for user with an id of 1 and sending back a custom image.
// Apply filter add_filter( 'get_avatar' , 'my_custom_avatar' , 1 , 5 ); function my_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) { $user = false; if ( is_numeric( $id_or_email ) ) { $id = (int) $id_or_email; $user = get_user_by( 'id' , $id ); } elseif ( is_object( $id_or_email ) ) { if ( ! empty( $id_or_email->user_id ) ) { $id = (int) $id_or_email->user_id; $user = get_user_by( 'id' , $id ); } } else { $user = get_user_by( 'email', $id_or_email ); } if ( $user && is_object( $user ) ) { if ( $user->data->ID == '1' ) { $avatar = 'YOUR_NEW_IMAGE_URL'; $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; } } return $avatar; }