BbPress

Woocommerce+Buddypress+Bbpress商城社区论坛头像本地化

LensNews 本站承接 WordPress 主题的设计与开发,以及萨龙网络主题的修改定制,常见实用的功能定制:评论星级、文章筛选、用户关注、文章点赞(获取点击的用户以及用户所点赞的文章)等功能。

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 && strpos$image"gravatar.com" ) ){
  4.         return '<img src="' . $default . '" alt="avatar" class="avatar" ' . $html_width . $html_height . ' />';
  5.     } else {
  6.         return $image;
  7.     }
  8. }
  9. add_filter('bp_core_fetch_avatar', 'bp_remove_gravatar', 1, 9 );
  10. function remove_gravatar ($avatar$id_or_email$size$default$alt) {
  11.     $default = get_stylesheet_directory_uri() .'/images/customGravatar.png';
  12.     return "<img alt='{$alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
  13. add_filter('get_avatar', 'remove_gravatar', 1, 5);
  14. function bp_remove_signup_gravatar ($image) {
  15.     $default = get_stylesheet_directory_uri() .'/images/customGravatar.png';
  16.     if$image && strpos$image"gravatar.com" ) ){
  17.         return '<img src="' . $default . '" alt="avatar" class="avatar" width="auto" height="auto" />';
  18.     } else {
  19.         return $image;
  20.     }
  21. }

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

(1)

本文由 远方的雪山 作者:萨龙龙 发表,转载请注明来源!

关键词:
LensNews

热评文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注