Typecho修改默认评论头像以及Gravatar镜像地址

WordPress后台可以设置默认头像(如用户没有注册Gravatar,则显示通用标志),Typecho后台则没有,我们可以通过修改代码实现同样的效果。

前提是你的主题是通过默认函数调用评论列表:

<?php $comments->listComments(); ?>

确保主题文件comments.php中有上面的函数。

然后开始修改/var/Typecho/common.php第937行;

    public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
    {
        $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
        $url .= '/avatar/';

        if (!empty($mail)) {
            $url .= md5(strtolower(trim($mail)));
        }

        $url .= '?s=' . $size;
        $url .= '&amp;r=' . $rating;
        $url .= '&amp;d=' . $default;

        return $url;
    }

修改为:

    public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
    {
        $url = $isSecure ? 'https://gravatar.loli.net/avatar/' : 'http://gravatar.duoshuo.com/avatar/';
        

        if (!empty($mail)) {
            $url .= md5(strtolower(trim($mail)));
        }

        $url .= '?s=' . $size;
        $url .= '&amp;r=' . $rating;
        $url .= '&amp;d=mm' . $default;

        return $url;
    }

其中d的值就是用来设置默认头像的:

d=mm 神秘人
d=identicon 抽象图形(自动生成)
d=wavatar Wavatar(自动生成)
d=monsterid 小怪物(自动生成)
d=retro 复古(自动生成)
评论 (4)
  1. avatar
    沙发
    欧文斯 2018-07-10 21:49

    改源码不是好方法啊

    • avatar
      回复
      inwao world 2018-07-13 20:28
      @欧文斯 因为我懒,而且我这个主题就我自己用,二次开发又不给别人用,自己怎么爽怎么来.
  2. avatar
    板凳
    share1223 2018-07-13 17:58

    最好源码不要动,直接用插件就好,你直接百度搜索一下。

    • avatar
      回复
      inwao world 2018-07-13 20:27
      @share1223 我就是能改源码就改源码,因为这个主题是我自己用呀,虽然二次开发整体UI没动,其他的都自己修改了,也不开源给别人用。