WordPress无法显示 用户头像的解决方法

近期有客户反映WordPress无法正常显示Gravatar头像,查找原因是因为国内屏蔽了Gravatar导致的,这导致无数国内Wordpress网站头像无法显示,并且影响到了相关页面的访问速度(如果您的WordPress网站中没用使用Gravatar头像功能,则没用任何影响)。根据网络用户反馈,通过使用知名社交评论服务商多说提供的国内Gravatar服务,替换默认的Gravatar功能即可解决问题,且访问速度也很不错。

解决方法1:使用Gravatar的HTTPS

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:(适用于任何主题)

  1. // HackGravatatr
  2.    function wpyou_get_avatar($avatar) {
  3.    $avatar = str_replace(array(“www.gravatar.com”,”0.gravatar.com”,”1.gravatar.com”,”2.gravatar.com”),”gravatar.duoshuo.com”,$avatar);
  4.    return $avatar;
  5.    }
  6.    add_filter( ‘get_avatar’, ‘wpyou_get_avatar’, 103 );

或者

  1. // HackGravatatr
  2. function wpyou_get_ssl_avatar($avatar) {
  3. $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','',$avatar);
  4. return $avatar;
  5. }
  6. add_filter('get_avatar', 'wpyou_get_ssl_avatar');

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:

 

解决方法2:使用多说头像库替换

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:(适用于任何主题):

  1. // HackGravatatr
  2.    function wpyou_get_avatar($avatar) {
  3.    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
  4.    return $avatar;
  5.    }
  6.    add_filter( 'get_avatar', 'wpyou_get_avatar', 103 );

代码正确添加到主题的 functions.php 文件后即可使用多说提供的国内Gravatar服务了,从而完美解决问题。

解决方法3:本地缓存头像:

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:

  1. // HackGravatatr  
  2. function wpyou_localcache_avatar($avatar) {  
  3. $tmp = strpos($avatar, 'http');  
  4. $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);  
  5. $tmp = strpos($g, 'avatar/') + 7;  
  6. $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);  
  7. $w = get_bloginfo('wpurl');  
  8. $e = ABSPATH .'avatar/'. $f .'.jpg';  
  9. $t = 1209600//设定14天, 单位:秒  
  10. if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //当头像不存在或文件超过14天才更新  
  11. copy(htmlspecialchars_decode($g), $e);  
  12. else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));  
  13. if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);  
  14. return $avatar;  
  15. }  
  16. add_filter('get_avatar', 'wpyou_localcache_avatar');  

更多解决WordPress无法显示Gravatar头像图片问题的方法,请访问我们之前的文章:WordPress Gravatar头像缓存插件解决头像不显示问题,通过插件缓存头像到本地服务器的方法。

什么是Gravatar?

Gravatar是Globally Recognized Avatar的缩写,是gravatar推出的一项服务,意为“全球通用头像”(已被墙)。如果在Gravatar的服务器上放置了你自己的头像,那么在 任何支持Gravatar的blog或者留言本上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来。
Gravatar的概念首先是在国外的独立WordPress博客中兴起的,当你到任何一个支持Gravatar的 网站留言时,这个网站都就会根据你所提供的Email地址为你显示出匹配的头像。当然,这个头像,是需要你事先到Gravatar的网站注册并上传的,否 则,在这个网站上,就只会显示成一个默认的头像。

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 快速入门 WordPress无法显示 用户头像的解决方法 https://www.mbxzb.com/blog/file/rumen/8379.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务