wordpress中替换Gravatar头像默认服务器

这几天Gravatar头像服务器应该集体被墙了,头像无法显示。兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈。

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

将下面代码添加到当前主题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头服务器地址

使用方法同上,将下面代码添加到主题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 Fixed 头像修正插件

插件设置页面,将Gravatar 服务器和Gravatar SSL 服务器,全部改为:https://secure.gravatar.com

插件下载页面

另一个比较笨的方法:

打开wordpress程序根目录的wp-includes文件夹,找到pluggable.php打开,将大约2150至2157行:

  1. if ( is_ssl() ) {
  2. $host = ‘https://secure.gravatar.com‘;
  3. } else {
  4. if ( !emptyempty($email) )
  5. $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) );
  6. else
  7. $host = ‘http://0.gravatar.com‘;
  8. }

替换为:

  1. $host = ‘https://secure.gravatar.com‘;

或者(支持头像缓存插件)

  1. $host = ‘http://cn.gravatar.com‘;

之所以说“笨”是因为下次更新程序,还需要再次修改,不过这个方法最实用。

以上方法主要针对使用用国内主机用户,使用国外主机这时优势突显,并不需要修改任何东西,安装头像缓存插件,将头像缓存到本地,并不影响正常使用。

推荐几款Gravatar头像缓存插件

fonts.googleapis.com和gravatar.com被墙,严重影响了Wordpress用户体验,对新手熟习Wordpress的造成极大障碍。

时间: 2024-10-11 10:34:29

wordpress中替换Gravatar头像默认服务器的相关文章

WordPress基础:Gravatar头像修正

WordPress会根据你的邮箱,从Gravatar获取你的头像,如果没有在Gravatar设置头像,将使用默认的,然而设置了之后显示还可能会出现以下问题: Gravatar头像读取困难,将影响网站读取速度和评论时显示头像不美观 解决方案:安装Gravatar Fixed 头像修正插件 1.下载插件:Gravatar Fixed 2.解压放入目录wp-content/plugins 3.启动插件

方案:解决 wordpress 中 gravatar 头像被墙问题

Gravatar头像具有很好的通用性,但是却遭到了无辜的拦截,对于无法加载头像URL,我们在WordPress系统中通过修改默认的URL链接可以达到恢复头像的功能. 修改文件路径为 /wp-includes/pluggable.php      替换文件中部分代码如下: if ( is_ssl() ) { $host = 'https://secure.gravatar.com'; } else { if ( !empty($email) ) $host = 'http://cn.gravata

很好用的谷歌字体以及Gravatar头像一键替换WordPress插件----WP Acceleration for China 插件

WordPress总是被新上手的朋友诟病说速度慢,其实多半都要归功于谷歌字体的功劳.在应对字体这个问题的时候,大家都会有各种不同的解决方案.今天我给大家推荐一款插件,它集合了多个替代方案,可以方便的替换掉谷歌服务,实现Wordpress的加速 插件特点 可以用360,极客族等多种方案切换加速 可以替换掉Gravatar头像 一键替换,不需要多余操作,十分简单 下载地址: https://wordpress.org/plugins/wp-acceleration-for-china/ 插件截图

通过多说服务器缓存加速Gravatar 头像

通过多说服务器缓存加速Gravatar 头像 将下面的代码丢入WordPress 主题下的functions.php 文件(代码来自于 麦田一根葱 ,感谢原作者): 1 2 3 4 5 function mytheme_get_avatar($avatar) { $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.grav

wordpress google字体和gravatar头像不显示问题处理

wordpress 安装好后,发现网站打开很慢. 查看原因后发现是因为总所周知的原因:google字体无法加载.gravatar头像无法加载. 在网上查了下,说是要把google字体加载连接修改下,和gravatar头像加载连接修改下. 但修改源文件了,下次 wordpress 升级就会失效. 在网上找了个 wordpress 的插件,解决了google字体加载问题,看了下源码,修改了下,也解决了gravatar头像的问题. 代码如下: <?php function izt_cdn_callba

如何在WordPress中使用七牛云存储

序:七牛云存储可以方便的将网站的图片等数据镜像到七牛云存储的空间,直接从云端将数据返回给用户.这样可以大大节省网站的空间,提升网站的访问速度. 真正显示一键实现WordPress博客静态文件CDN加速.下面主要介绍一下WordPress中七牛云存储插件的使用. 一.申请七牛云存储的账号 首先需要申请七牛云存储的账号,申请好后,点击创建空间,选择空间类型为公开空间,提交 二.配置空间 配置空间,点击一键加速网站. 镜像源填写自己网站域名.确认加速. 这里的robots.txt配置文件内容为: #

WordPress中.htaccess的使用技巧

有些用户可能还不知道.htaccess文件是什么,所以我们首先来说明一下htaccess的作用.在wordpress的根目录下,你会看到一 个名为.htaccess的文件,它可以是由系统创建.也可以是用户自己编辑而成的.它是Apache服务器中的一个配置文件,它负责相关目录下的网页配 置,对wordpress中实现永久链接(Permalink)至关重要.同时利用它,我们也可以实现:网页301重定向.自定义404错误页面.改变文 件扩展名.允许/阻止特定的用户或者目录的访问.禁止目录列表.配置默认

Wordpress上传到阿里云服务器

Wordpress上传到阿里云服务器 登录服务器 https://account.aliyun.com/login/login.htm 绑定域名 获取FTP信息.数据库信息 在本地修改wordpress的配置文件wp-config.php 使用FileZilla上传网站文件到服务器 上传到htdocs目录 修改服务器数据库wp-option文件的网址链接,改成您的域名 注:此处不改的话进不了后台 访问域名 在浏览器中输入域名即可访问. 注:有时需要清除浏览器缓存,多次刷新清除尝试. GoodLu

wordpress中安装插件需要ftp服务怎么破

在初次搭建wordpress成功好,笔者想安装wordpress中有趣的插件时缺发现需要ftp服务 天真的笔者还真的搭建了一个ftp服务器,然后发现并没有什么卵用,这只是wordpress为了安 全而留下的坑,那么,怎么绕过这道程序呢.其实很简单,我们只需在wordpress根目录找到一个 wp-config.php,添加以下代码 define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777)