如何解决Emlog评论的Gravatar头像不显示

shmily 469 百度已收录 4

Gravatar头像网站的服务器被墙,支持gravatar头像的emlog评论自然就不能显示,并且还影响页面打开速度,解决方法是更换gravatar头像镜像地址,emlog没有提供相关解决gravatar头像的插件,因此目前的方法是通过修改程序源文件实现显示被墙后的gravatar头像[aru_3]

操作步骤:

1、在include/lib目录下,找到function.base.php文件,并进行编辑

2、通过Ctrl+F,查找www.gravatar.com,把该地址替换为以下地址中的其中一个:

cn.gravatar.com

secure.gravatar.com

gravatar.duoshuo.com

3、保存后,刷新网站页面即可。

注:emlog 5.3.x测试成功
如何解决Emlog评论的Gravatar头像不显示

发表评论 取消回复
表情 代码

  1. 319773591
    319773591 Lv 1

    方法 有很多种 我没用Gravatar头像 而且本地接口 获取已评论的邮箱显示头像[憨笑]

    • Latewish
      Latewish 首席执行官

      @319773591 :jy: 羡慕啊

      • 晓超云博客

        @Latewish

        //获取头像
        function getqqpic($email){
        	$qq = explode('@',$email);
                    $pic = TEMPLATE_URL.'inc/api.php?qq='.$qq[0].'';
                    $pic = $qq[1] =='qq.com' ? $pic : $pic = SB_getGravatar($email);
        	return $pic;
        }
        //blog-tool:获取Gravatar头像并缓存到本地
        function SB_getGravatar($email, $s=40, $d='monsterid', $r='g') {
            $f = md5($email);
            $a = TEMPLATE_URL.'images/avatar.jpg';
            $e = EMLOG_ROOT.'/content/templates/meta/images/avatar.jpg';
            $t = 1296000; //15天,单位:秒
            if (empty($d)) $d = BLOG_URL.'avatar/default.jpg';
            if (!is_file($e) || (time() - filemtime($e)) > $t ) {
                //当头像不存在或者超过15天才更新
                $g = sprintf("https://secure.gravatar.com",(hexdec($f{0})%2)).'/avatar/'.$f.'?s=48&d='.$d.'&r='.$r;
                copy($g,$e); $a=$g; //新头像copy时, 取gravatar显示
            }
            if (filesize($e) < 500) copy($d,$e);
            return $a;
        }
分享