diff --git a/core/um-filters-avatars.php b/core/um-filters-avatars.php
index c58d5ca5..f9483565 100644
--- a/core/um-filters-avatars.php
+++ b/core/um-filters-avatars.php
@@ -43,9 +43,16 @@
if( um_get_option('use_gravatars') && ! um_user('synced_profile_photo') && ! $has_profile_photo ){
$avatar_url = um_get_domain_protocol().'gravatar.com/avatar/'.um_user('synced_gravatar_hashed_id');
$avatar_url = add_query_arg('s',400, $avatar_url);
- if( um_get_option('use_um_gravatar_default_image') ){
- $avatar_url = add_query_arg('d', um_get_default_avatar_uri(), $avatar_url );
+ $gravatar_type = um_get_option('use_um_gravatar_default_builtin_image');
+
+ if( $gravatar_type == 'default' ){
+ if( um_get_option('use_um_gravatar_default_image') ){
+ $avatar_url = add_query_arg('d', um_get_default_avatar_uri(), $avatar_url );
+ }
+ }else{
+ $avatar_url = add_query_arg('d', $gravatar_type, $avatar_url );
}
+
}
$avatar = '
';
diff --git a/core/um-short-functions.php b/core/um-short-functions.php
index a402fbd0..090dfcbf 100644
--- a/core/um-short-functions.php
+++ b/core/um-short-functions.php
@@ -1429,9 +1429,16 @@ function um_fetch_user( $user_id ) {
if( um_get_option('use_gravatars') && ! um_user('synced_profile_photo') && ! $has_profile_photo ){
$avatar_uri = um_get_domain_protocol().'gravatar.com/avatar/'.um_user('synced_gravatar_hashed_id');
$avatar_uri = add_query_arg('s',400, $avatar_uri);
- if( um_get_option('use_um_gravatar_default_image') ){
- $avatar_uri = add_query_arg('d', um_get_default_avatar_uri(), $avatar_uri );
+ $gravatar_type = um_get_option('use_um_gravatar_default_builtin_image');
+
+ if( $gravatar_type == 'default' ){
+ if( um_get_option('use_um_gravatar_default_image') ){
+ $avatar_uri = add_query_arg('d', um_get_default_avatar_uri(), $avatar_uri );
+ }
+ }else{
+ $avatar_uri = add_query_arg('d', $gravatar_type, $avatar_uri );
}
+
}
return '
';
diff --git a/um-config.php b/um-config.php
index 5e09c729..1231ca26 100644
--- a/um-config.php
+++ b/um-config.php
@@ -181,6 +181,26 @@ $this->sections[] = array(
'off' => __('No','ultimatemember'),
),
+ array(
+ 'id' => 'use_um_gravatar_default_builtin_image',
+ 'type' => 'select',
+ 'title' => __( 'Use Gravatar builtin image','ultimatemember' ),
+ 'desc' => __( 'Gravatar has a number of built in options which you can also use as defaults','ultimatemember' ),
+ 'default' => 'default',
+ 'options' => array(
+ 'default' => __('Default','ultimatemember'),
+ '404' => __('404 ( File Not Found response )','ultimatemember'),
+ 'mm' => __('Mystery Man','ultimatemember'),
+ 'identicon' => __('Identicon','ultimatemember'),
+ 'monsterid' => __('Monsterid','ultimatemember'),
+ 'wavatar' => __('Wavatar','ultimatemember'),
+ 'retro' => __('Retro','ultimatemember'),
+ 'blank' => __('Blank ( a transparent PNG image )','ultimatemember'),
+
+ ),
+ 'required' => array( 'use_gravatars', '=', 1 ),
+ 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
+ ),
array(
'id' => 'use_um_gravatar_default_image',
'type' => 'switch',
@@ -189,7 +209,7 @@ $this->sections[] = array(
'desc' => __('Do you want to use the plugin default avatar instead of the gravatar default photo (If the user did not upload a custom profile photo / avatar)','ultimatemember'),
'on' => __('Yes','ultimatemember'),
'off' => __('No','ultimatemember'),
- 'required' => array( 'use_gravatars', '=', 1 ),
+ 'required' => array( 'use_um_gravatar_default_builtin_image', '=', 'default' ),
),
array(