【整理】Typecho默认头像替换


Gravatar 头像在国内极其不稳定,有时候访问 1.gravatar.com 的时候差不多要半分钟;
另外很多游客本身是没有 Gravatar 账号的,默认的蓝G头像也说不上美观。

上百度查了下貌似有种简便的方法:
修改网站根目录下的 config.inc.php 文件:
在里面添加一个:

define('__TYPECHO_GRAVATAR_PREFIX__', 'http://cn.gravatar.cn/avatar/');

我改成了本地的文件夹做了定向,但有小瑕疵:游客的头像是正常的,自己的头像加载不出来。
后来F12才发现自己头像的地址是

http://xxx.xxx.cn/avatar/avatar.png9349385687463724@#¥%……&

这个跟 gravatar 获取头像的原理有关,后面的是用户自己的邮箱 md5 后的。

于是找了个办法彻底ban掉gravatar:

找到 /var/Widget/Abstract/Comments.php
在第390左右可以看到 gravatar 的函数,把 $url 换成本地的图片:

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 = "http://xxx.xxx.com/xxx/xxx.png";
        echo '<img class="avatar" src="' . $url . '" alt="' .
        $this->author . '" width="' . $size . '" height="' . $size . '" />';
            }
        }
}

缺点是图片就成静态的了,有 Gravatar 账号的游客进来也显示的默认头像。

声明:@ギャズOfficial|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 【整理】Typecho默认头像替换


我们终将知道,我们必须知道。