wordpress技巧

近来伟大的墙又开始刷存在感了,而且比以往更加变态,不但Google全线沦陷,连一向比较合作的微软也开始遭殃,WordPress就更不用说了,Gravatar服务也是前所未有的受到了威胁。从而导致,博客打开速度奇慢,甚至于打不开。

一般情况下,WordPress使用以下四个服务器:

http://1.gravatar.com;

http://2.gravatar.com;

http://0.gravatar.com;

http://s.gravatar.com;

虽然还有很多的镜像,但是一味的使用官方的服务器,不是治本的方法,你不知道何时会全线沦陷。由此,替换掉Gravatar官方的服务器是很有必要的。方法也有很多种,最简单的就是使用国内的第三方评论服务,比如多说,友言……等等。

不过,你可能不想用第三方的服务,而仅仅是想替换掉图片服务器。方法也是有很多种。以多说的镜像为例。

打开wp-includes/pluggable.php,找到1649和1651行,

把http://%d.gravatar.com和http://0.gravatar.com都改为  http://gravatar.duoshuo.com;

不过这个方法升级了版本后也许会被覆盖掉,到时候就需要重新修改,下面的方法比较推荐。

将下面的代码加到主题的functions.php 文件

function mytheme_get_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );

当前共有 14 条评论 发表在 “替换Gravatar头像服务器”

  1. 何朝城

    何朝城

    其实WordPress博客用户可以将下面代码添加到当前主题的functions.php文件中就可解决Gravatar头像不显示问题。

    //=== Gravatar头像缓存 ===//
    function gravatar_cache($avatar){
    $avatar = preg_replace( "/http://(www|d).gravatar.com/","http://gravatar.hechaocheng.cn",$avatar );
    $avatar = preg_replace( "/?s=/",".png?s=",$avatar );
    return $avatar;}
    add_filter( 'get_avatar', 'gravatar_cache' );
    
    回复
  2. 土木坛子

    土木坛子

    方法不错,不过许多国内的服务,我还真无法使用,因为它们都不支持HTTPS,所以我要使用,便会出现页面上有非HTTPS的元素……

    回复

回复 shion 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注