From 0718803da11067b942c4faedc72e297669bbcb7a Mon Sep 17 00:00:00 2001 From: denisbaranov Date: Thu, 18 Oct 2018 19:11:26 +0300 Subject: [PATCH] fix bug: Profile Image pulls from Gravatar --- includes/core/um-filters-avatars.php | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/includes/core/um-filters-avatars.php b/includes/core/um-filters-avatars.php index 12aec65c..b420230e 100644 --- a/includes/core/um-filters-avatars.php +++ b/includes/core/um-filters-avatars.php @@ -42,4 +42,30 @@ function um_get_avatar( $avatar = '', $id_or_email='', $size = '96', $avatar_cla return $avatar; } -add_filter( 'get_avatar', 'um_get_avatar', 99999, 5 ); \ No newline at end of file +add_filter( 'get_avatar', 'um_get_avatar', 99999, 5 ); + + +/** + * Replace Gravatar image URL to Ultimate member profile image URL if setting "Use Gravatars?" disabled + * @param string $url + * @param int $id_or_email + * @param array $args + * @return string + */ +if ( !function_exists( 'um_filter_get_avatar_url' ) ) { + + function um_filter_get_avatar_url( $url, $id_or_email, $args ) { + + if ( is_numeric( $id_or_email ) && !UM()->options()->get( 'use_gravatars' ) && preg_match( '/gravatar/i', $url ) ) { + $data = um_get_user_avatar_data( $id_or_email, $args['size'] ); + if ( !empty( $data['url'] ) ) { + $url = $data['url']; + } + } + + return $url; + } + + // hooked in the get_avatar_data function + add_filter( 'get_avatar_url', 'um_filter_get_avatar_url', 20, 3 ); +} \ No newline at end of file