Gravatar头像用的人太多了,几乎所有的博客程序都是用的Gravatar头像,可惜自从Gravatar被墙后,显示头像就成了问题,反而还拖慢了网站访问速度,之前没人评论,我还没管它,不过有人评论了,这就得修复修复了。现在最常用的方法就是替换成多说的头像镜像,或者直接镜像缓冲Gravatar官方的头像到服务器。不过还是直接用多说的好,嘿嘿。

回到正题,方法如下:

方法1:

直接把头像源换成国内多说的。找到找到网站根目录下/var/Widget/Abstract Comments.php 文件,将第390行的Gravatar代码换成下面的:

public function gravatar($size = 32, $default = NULL)
    {
        if ($this->options->commentsAvatar && 'comment' == $this->type) {
            $rating = $this->options->commentsAvatarRating;
            
            $this->pluginHandle(__CLASS__)->trigger($plugged)->gravatar($size, $rating, $default, $this);
            if (!$plugged) {
                //$url = Typecho_Common::gravatarUrl($this->mail, $size, $rating, $default, $this->request->isSecure());
                $mailHash = NULL;
                if (!empty($this->mail)) {
                $mailHash = md5(strtolower($this->mail));
                }
                $url = 'http://gravatar.duoshuo.com/avatar/';
                if (!empty($this->mail)) {$url .= $mailHash;}
                $url .= '?s=' . $size;
                $url .= '&r=' . $rating;
                $url .= '&d=' . $default;
                echo '<img class="avatar" src="' . $url . '" alt="' .
                $this->author . '" width="' . $size . '" height="' . $size . '" />';
            }
        }
    }

方法2:

直接使用羽飞的头像缓冲插件。作者说明传送门点击进入