March 05
typecho更改评论Gavatar头像为QQ头像
首先,将下面的代码丢到functions.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头像。完美!
作者:https://xiamuyourenzhang.cn/109/
:D 少女祈祷中...
不完美,暴露了访客的邮箱
对隐私有需求的一般都有公私两个邮箱以上吧。不分也无所谓,国内这个环境,看看手机的垃圾短信再怎么小心在大环境下没啥用。