[![Woocommerce+Buddypress+Bbpress商城社区论坛头像本地化](https://pic.salongweb.com/2015/08/avatar_local.jpg)](https://pic.salongweb.com/2015/08/avatar_local.jpg "Woocommerce+Buddypress+Bbpress商城社区论坛头像本地化")
萨龙网络Purity主题是集成了Woocommerce+Buddypress+Bbpress商城社区论坛，因为www.gravatar.com头像被和谐，而网上对于解决头像被和谐的代码都只是适合WP本身，对这些插件没有任何作用。

Buddypress中成员、群组都需要设置头像，也考虑到很多人并没有注册gravatar全球通用头像，在社区个人档案中可以上传自定义头像，所以把整站的头像都本地化，以下代码可解决WP中任意的头像本地化：

1. function bp\_remove\_gravatar ($image, $params, $item\_id, $avatar\_dir, $css\_id, $html\_width, $html\_height, $avatar\_folder\_url, $avatar\_folder\_dir) {
2. $default = get\_stylesheet\_directory\_uri() .’/images/customGravatar.png’;
3. if( $image &amp;&amp; strpos( $image, “gravatar.com” ) ){
4. return ‘&lt;img src=“‘ . $default . ‘” alt=“avatar” class=“avatar” ‘ . $html\_width . $html\_height . ‘ /&gt;’;
5. } else {
6. return $image;
7. }
8. }
9. add\_filter(‘bp\_core\_fetch\_avatar’, ‘bp\_remove\_gravatar’, 1, 9 );
10. 
11. function remove\_gravatar ($avatar, $id\_or\_email, $size, $default, $alt) {
12. $default = get\_stylesheet\_directory\_uri() .’/images/customGravatar.png’;
13. return “&lt;img alt='{$alt}’ src='{$default}’ class=’avatar avatar-{$size} photo avatar-default’ height='{$size}’ width='{$size}’ /&gt;”;
14. add\_filter(‘get\_avatar’, ‘remove\_gravatar’, 1, 5);
15. 
16. function bp\_remove\_signup\_gravatar ($image) {
17. $default = get\_stylesheet\_directory\_uri() .’/images/customGravatar.png’;
18. if( $image &amp;&amp; strpos( $image, “gravatar.com” ) ){
19. return ‘&lt;img src=“‘ . $default . ‘” alt=“avatar” class=“avatar” width=“auto” height=“auto” /&gt;’;
20. } else {
21. return $image;
22. }
23. }

\[successbox\]这样当有新用户注册时，如果没有添加头像，不管有没有注册gravatar头像，系统都会为其设置默认头像，头像都使用本地头像，网站的速度也相对提高了不少。\[/successbox\]