Code Snippets

Completely disable the use of Gravatars on your BuddyPress site

Update: New versions of BuddyPress (1.7+) only need to add the following snippet to their bp-custom.php file

	add_filter('bp_core_fetch_avatar_no_grav', '__return_true');

Gravatars are pretty darn great in general. But for certain communities there might be privacy reasons to disable them. BuddyPress let’s you do this, but it does not stop the calls being made to the Gravatar servers. This can sometimes lead to slower page loading times, and thus the people at BuddyPress.org came to the rescue! It took them a while to figure it out, but Scabadaska found a way to do it! Below is the complete code you need to put in functions.php or bp-custom.php. Enjoy!

function bp_remove_gravatar ($image, $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir) {

	$default = get_stylesheet_directory_uri() .'/_inc/images/bp_default_avatar.jpg';

	if( $image && strpos( $image, "gravatar.com" ) ){ 

		return '<img src="' . $default . '" alt="avatar" class="avatar" ' . $html_width . $html_height . ' />';
	} else {
		return $image;

	}

}
add_filter('bp_core_fetch_avatar', 'bp_remove_gravatar', 1, 9 );

function remove_gravatar ($avatar, $id_or_email, $size, $default, $alt) {

	$default = get_stylesheet_directory_uri() .'/_inc/images/bp_default_avatar.jpg';
	return "<img alt='{$alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
}

add_filter('get_avatar', 'remove_gravatar', 1, 5);

function bp_remove_signup_gravatar ($image) {

	$default = get_stylesheet_directory_uri() .'/_inc/images/bp_default_avatar.jpg';

	if( $image && strpos( $image, "gravatar.com" ) ){ 

		return '<img src="' . $default . '" alt="avatar" class="avatar" width="150" height="150" />';
	} else {
		return $image;
	}

}
add_filter('bp_get_signup_avatar', 'bp_remove_signup_gravatar', 1, 1 );

About Bowe Frankema

 Completely disable the use of Gravatars on your BuddyPress site Building communities on BuddyPress is something I’m very passionate about. The decision to focus exclusively on BuddyPress projects over the last few years inspired me to share back some of the things I've learned here on BP-Tricks! You can find me on WordCamps & BuddyCamps across the globe and on Twitter! Follow me on Twitter

I'm constantly updating my BuddyPress Hosting Guide and SiteGround and WPEngine
have proven to be a great fit for hosting your BuddyPress community.

Need some help finding the perfect host? Check out my in-depth BuddyPress Hosting guide!

Discussion

10 responses to ‘Completely disable the use of Gravatars on your BuddyPress site

  1. I’m looking at this and I’m trying to think of a way to include a check to see if the user has entered the gender profile field and have 3 mystery default images depending on what was selected M/F/ or none and show the corresponding mystery avatar as default. Any Ideas.

  2. Someone can tell why the code after making avatars disappeared, although in the path of such a file exists. Sorry for my english

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>