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

相关推荐

  • 宝塔面板快速安装fileinfo扩展的方法

    因为一些网站程序的特殊性,有些程序需要各种组件的支持才可以正常安装,如:苹果CMS就需要一个fileinfo扩展的支持才可以进场安装,所以这里就给大家介绍下宝塔面板如何快速安装fileinfo扩展。 第一步: 登录宝塔面板后台后—点击软件管理—找到需要安装fileinfo扩展的PHP版本—接着点击设置。 第二步: 进入PHP的管理界面后—点击安装扩展—找到f…

    2021年8月27日 建站知识
    1.3K
  • 宝塔面板安装指定历史版本教程

    使用宝塔官方一键命令,直接搭建出来的是最新版的宝塔。但是,很多时候我们需要使用低版本的,这个时候就没有办法直接使用一键命令来搭建了。下面就讲讲怎么安装指定历史版本宝塔面板。 一、版本合集(2022年1月6日更新) http://download.bt.cn/install/update/LinuxPanel-1.0.3.zip http://download…

    2022年5月16日
    847
  • 不用插件启用 WordPress 维护模式

    为什么在线上调整网站时,要使用维护页面,让我们看一下维护页面的一些好处。有了维护页面,您可以… 可以避免访问者在打开您网站时,因维护原因出现一些糟糕的情况。 它可以帮助您正常地在网站的后端调整网站设置,主题或插件,而不会让访问者看到您的网站在维护时的全部细节。 在 WordPress 插件市场,有许多类似功能的插件,功能也非常强大。不过相对的,设置起来就比较…

    2021年11月7日
    609
  • WordPress密码忘了_管理员密码找回的三种方法

    用WordPress安装完网站后,时间久了难免会碰到密码忘记的情况。管理员账号没有办法通过忘记密码找回功能,所以只能使用另外的方式,本文就介绍三种简单找回WordPress管理员密码的办法。 FTP修改functions.php找回 如果你记得你网站的FTP信息,那么你可以使用FTP软件来修改主题文件夹里面的functions.php文件实现密码修改。 通过…

    2024年8月11日
    365
  • 防黑客攻击:能够让WordPress网站更安全的5款插件

    有一个普遍的误解认为小型网站不会受到网络犯罪的威胁。事实上,现在网络犯罪比以往任何时候都要多。根据调查显示,2018年企业主因网络犯罪损失了3900万美元,这比2017年增长了161%。 如果你经营一家小型电子商务商店,你的WordPress网站很可能会成为黑客的攻击对象,其带来的结果可能是毁灭性的。2017年,60%的网络犯罪受害者在事件发生后不到6个月就…

    2021年8月19日
    431