现在的位置: 首页 > WP 专题 > 正文

Gravatar头像无法加载的三种解决方案

2014年11月19日 WP 专题 ⁄ 共 1291字 ⁄ 字号 暂无评论 ⁄ 阅读 573 次

这两天,gravatar头像出现无法加载的问题,不仅致使wordpress站点的用户头像无法正常显示,还对网页加载速度及后台操作速度造成了影响。针对此问题,知更鸟站长给出了三种解决方案,各有优缺点,大家可以根据需要自行选择合适的wordpress技巧来加以解决。

Gravatar头像无法加载的三种解决方案

一、利用多说Gravatar头像中转服务器替代头像默认服务器。

添加如下代码到wordpress主题的functions.php模板文件中:

  1. function mytheme_get_avatar( $avatar ) {
  2. $avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.duoshuo.com",$avatar );
  3. return $avatar;
  4. }
  5. add_filter( 'get_avatar', 'mytheme_get_avatar' );

缺点:由于多说服务稳定性欠佳,有时也会暂时无法显示头像。如编辑已发表的文章,并且文章已有评论,还需要在文章编辑页面打开右上的“显示选项”去掉“评论”勾选,否则在点击更新文章按钮后,还是会向Gravatar头像服务器发送获取头像请求,从而影响页面加载速度。

二、使用https方式(SSL)调用Gravatar头服务器地址。

添加如下代码到wordpress主题的functions.php模板文件中:

  1. function get_ssl_avatar($avatar) {
  2.    $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
  3.    return $avatar;
  4. }
  5. add_filter('get_avatar', 'get_ssl_avatar');

缺点:添加以上代码后,可能会造成一些头像缓存插件失效,而且使用头像本地缓存会造成页面打开异常缓慢。

三、安装Gravatar头像缓存插件来解决。

上面介绍的两种方案主要针对国内主机用户,使用国外主机这时优势突显,无需修改任何代码,可以通过安装wordpress插件来解决。推荐几款Gravatar头像缓存插件,可以直接在后台插件管理中搜索并安装启用。

GravatarLocalCache

FV Gravatar Cache

WP Gravatar Mini Cache

Gravatar Cache

Hacklog Gravatar Cache

Gravatar头像缓存插件会把Gravatar头像下载到本地服务器上,然后读取缓存的图片,从而提高加载速度。启用插件后,第一次打开有头像的页面可能会较慢,因为正在下载缓存图片,之后速度会明显提升。

对Gravata头像还不了解,并且想拥有Gravata头像的同学可以看看这篇文章:Gravatar全球通用头像申请图文教程

给我留言

留言无头像?


×