今天休息,跑到网吧偷偷折腾网站来了。看看以前的QQ头像替代默认的Gavatar头像功能,感觉不是很理想。因为当访客使用QQ邮箱评论时会显示QQ头像,可是如果使用的不是QQ头像,就会显示一个QQ企鹅头像,这样子在我看来是不行的。于是又萌生了修改的想法。
首先,将下面的代码丢到funtions.php文件当中。
//获取Gravatar头像 QQ邮箱取用qq头像
function getGravatar($email, $s = 96, $d = 'mp', $r = 'g', $img = false, $atts = array())
{
preg_match_all('/((\d)*)@qq.com/', $email, $vai);
if (empty($vai['1']['0'])) {
$url = 'https://www.gravatar.com/avatar/';
$url .= md5(strtolower(trim($email)));
$url .= "?s=$s&d=$d&r=$r";
if ($img) {
$url = '<img src="' . $url . '"';
foreach ($atts as $key => $val)
$url .= ' ' . $key . '="' . $val . '"';
$url .= ' />';
}
}else{
$url = 'https://q2.qlogo.cn/headimg_dl?dst_uin='.$vai['1']['0'].'&spec=100';
}
return $url;
}
其次,再将下面的代码复制到需要放头像的页面,通常是comments.php页面和sidebar.php页面。
<?php $email=$comments->mail; $imgUrl = getGravatar($email);echo '<img src="'.$imgUrl.'" width="45px" height="45px" style="border-radius: 50%;" >'; ?>
大功告成!
该代码可以实现的功能:当客户评论时用的不是QQ邮箱,则显示gavatar头像,否则则显示QQ头像。完美!
测试
测试
有没有详细点的教程。。。代码放到页面的哪个位置啊。。
@小白
放到主题里funtions.php,在末尾>里添加就行了
@emorsl
评论头像冲突了
tesat
测试
测试
非常好的教程,多谢博主,转载一下!
测试
测试
楼主 为什么我博客头像在最下面。没在框框里。
@十六吖
地址发来看看
@雨致
http://blogger.byeee.cn
楼主,????????????
@十六吖
看了一下你的网站,没有发现问题。你指的是评论区还是哪里?可能是没有把原来的代码删掉
@雨致
删除原来的什么代码
@雨致
用户评论不显示头像,头像显示在底部
@十六吖
可能是css样式的问题,或者头像代码放置位置不对。你现在更换了主题,无法查看具体问题出在哪。
@雨致
博主,可以再看一次我的博客吗,我找不出问题在哪里
我来试一下
测试
测试
测试
测试一下
还有更简单的方法
@panda
那老哥给指点一二。(!)[zface_7.png]
@雨致
修改var/typecho/common.php,代码百度就有,复制粘贴就行了
@panda
这种方法不好,一旦版本升级,或者网站搬家代码又要重新写,万一忘记了网站就会出问题,很麻烦的。
@雨致
把那个文件备份一下,如果被覆盖了就替换一下就好了,头像的代码没什么可升级的,即使其他地方变了,你把头像代码粘贴过去就行了
@panda
我的意思是typecho升级了到时候还要再找到这段代码修改,还不如现在复杂一点,这样以后就不用改动程序源代码了。
@雨致
我的原则是越少改文件越好,何况复制粘贴要不了一分钟
@panda
kk
@panda
测试
@panda
楼主,这个怎么设置呀?
@zzwz
把代码复制到相应位置啊,很简单的
测试
@小兔子
测
@小兔子
好用吗
@小兔子
试试
@666
长生
@小兔子
测试
测试2
冲