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

相关推荐

  • WordPress新建页面没有评论框的解决方法

    WordPress是一个功能非常丰富的系统。对于新手而言,有些功能的开启关闭真的不太好找。不过,WordPress教程,如果大家善于使用度娘或者谷歌等炒鸡流弊的搜索引擎,发动你们的小拇指,去搜索百度一下,基本都可以找到答案。 现在分享一个比较常见的功能(其实是我被问得有点多,有点烦躁) 就是无论是新建的文章还是新建的页面,有些小伙伴都会问:怎么不见评论框?不…

    2021年11月7日
    332
  • 宝塔面板快速安装fileinfo扩展的方法

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

    2021年8月27日 建站知识
    1.2K
  • wordpress主题模板放在哪个文件夹

    WordPress是使用人数较多的一款CMS,WordPress 主题众多是一个优点,这也是我们经常更换主题的原因,不过 WordPress 一次只能启用一个主题,其他主题如果长期不使用的话,建议直接删除。 我们先看看WordPress 主题文件存放在哪里? 其实,WordPress 主题都统一存放在 wp-content\themes\文件夹内,一个主题就…

    2021年8月12日
    492
  • 用简单代码实现WordPress自动给图片添加alt和title属性

    有网友在讨论,如何给网站中的图片自动添加图片的ALT和TITLE属性,因为在采集或者是编辑文章的时候确实图片太多的时候不会给图片添加这两个属性。如果我们采用的Wordpress肯定是有办法实现的,比如这里小编找到2个方法,可以实现自动在添加图片的时候加上属性。 1、方法A:添加ALT和TITLE //文章图片自动添加alt和title属性(https://w…

    2021年8月25日
    646
  • 网站数据库经常无故暂停的问题排查和解决方案

    遇到一个朋友,估摸着也是才开始学习搭建网站的。而且他心还是比较大的,选择到一台云服务器,然后一骨碌搭建四五个网站。于是出现的故障也随之而来,他这几天网站每天都有好几次出现数据库连接不上的问题,需要重启数据库才可以恢复。 像这种数据库经常无故暂停的问题也是常有的。这个到底是什么问题影响的呢,有没有解决办法。 第一、服务器的利用率 这个同学一台1G内存的服务器,…

    2022年3月26日
    614