wordpress程序中使用的Gravatar头像被墙及解决方案

今天网站发现Gravatar应该是彻底被墙了,根本无法访问了,可能是最近大会或者什么其他原因吧,还有人因为什么被抓起来了,太多东西也不好评价。我Gril Friend Wall 果然是天下无敌。

年纪大了折腾的精力就不如从前了,只想用最简单的方法解决问题,我采用了第一种方法,直接调用官方的数据,理论上应该是最稳定的了(没被墙的前提下)。

调用ssl 头像链接

https还是没被墙的,而且速度还不错,直接调用这个最简单了。

如果你的网站启用了ssl则不需要了,否则需要在主题目录文件functions.php 加入如下代码

function get_ssl_avatar($avatar) {
   $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);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

优点:简单稳定

缺点: 当头像特别大时速度可能略慢

本地缓存

下面的代码加到functions.php

function my_avatar($avatar) {
  $tmp = strpos($avatar, 'http');
  $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
  $tmp = strpos($g, 'avatar/') + 7;
  $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
  $w = get_bloginfo('wpurl');
  $e = ABSPATH .'avatar/'. $f .'.jpg';
  $t = 1209600; //設定14天, 單位:秒
  if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新
    copy(htmlspecialchars_decode($g), $e);
  } else  $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
  if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);
  return $avatar;
}
add_filter('get_avatar', 'my_avatar');

在WordPress安装根目(即跟wp-content等文件夹同一目录下)下新建一个名为 avatar 的文件夹 ,并给予写权限。放入一张同尺寸的头像图片命名为default.jpg。

优点:和主机速度挂钩,如果你的服务器特别快则头像加载也特别快

缺点:只能缓存一个尺寸的头像,国内主机无法使用

更多wordpress教程请关注老文笔记。

关于wordpress程序中使用的Gravatar头像被墙及解决方案的相关内容;如有侵权,请联系老文删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
老文的头像老文
上一篇 2021年8月17日 下午8:32
下一篇 2021年8月18日 下午6:15

相关推荐

  • Nginx常用屏蔽规则,让网站更安全

      引言 Ng­inx (en­gine x) 是一个高性能的 HTTP 和反向代理服务,目前很大一部分网站均使用了 Ng­inx 作为 WEB 服务器,Ng­inx 虽然非常强大,但默认情况下并不能阻挡恶意访问,这里有一份常用的 Ng­inx 屏蔽规则,希望对你有所帮助。 在开始之前,希望您已经熟悉 Ng­inx 常用命令(如停止、重启等操作)及…

    2021年8月25日
    676
  • wordpress网站用插件自动添加图片alt属性和title属性步骤

    我们在使用wordpress程序做网站时,如果网站图片比较多的情况下,要想让图片更符合SEO排名,就需要手动的给每一张图片添加ALT属性,图片的alt属性对于网站的收录及流量来源有多重要不用你给我说大家一定都知道。 但是每次添加图片都要手动添加会特别麻烦,尤其是图片多的时候。实现自动添加图片alt属性方法很简单,只需要安装一个wordpress插件就可以实现…

    2021年8月17日 建站知识
    635
  • zblog如果防止被黑?zblog安全模式怎么设置?

    有很多的zblog用户也会来咨询我们“zblog如何防止被黑?”,毕竟做站长的最怕就是网站被黑了。 本文就尝试说明下zblog如果防止被黑和zblog安全模式怎么设置。 防止网站被黑有两个方面可以配置:服务器和程序。 服务器的安全配置这个题目太大了,而且每种配置的服务器的配置方法也不一样,对于这个领域也没有涉猎,所以本文就只讲程序这块怎么来设置。 首先zbl…

    2021年11月18日
    700
  • 做网站是使用Nginx还是Apache

    有关 Nginx 和 Apache 的介绍我就不做赘述了,大家自行百度、谷歌一下就可以了解了,废话不多说了,直奔主题。 1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。 在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品;Ngi…

    2021年11月17日
    320
  • DedeCMS织梦文章数据在线一键迁移至WordPress系统

    DedeCMS织梦系统是国内的优秀开源建站系统,使用的网站数量众多,不过近期织梦也要开始收取授权费用了:除个人非盈利网站外,均需要购买DedeCMS商业使用授权,授权费为5800元。 消息一出,WPCOM就陆续收到不少客户咨询关于数据迁移至WordPress的相关咨询和技术协助请求,所以针对此需求以及之前的迁移经验,我们汇总成了一个WordPress插件免费…

    2021年10月22日
    721