默认的Gravatar是在是太难看了,而且还会经常宕机,所以网上最常用的方法是用QQ头像替换默认的gravatar头像。于是我在网上苦苦搜索了好几天,终于找到了适合的方法,现在记录一下代码。

mail; echo 'Typecho将评论头像修改为QQ头像'; ?>

用以上代码替换comment.php里面默认的gravatar代码即可。

下面还有一个更完善的办法,因为当访客使用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 = 'Typecho将评论头像修改为QQ头像 $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页面。

把里面的

gravatar('100', ''); ?>

改为:

mail; $imgUrl = getGravatar($email);echo 'Typecho将评论头像修改为QQ头像'; ?>

该代码可以实现的功能:当客户评论时用的不是QQ邮箱,则显示gavatar头像,否则则显示QQ头像。完美!

扩展用途:

站长在其他位置显示头像的地方

author->gravatar(500); ?>

改为:

author->mail; $imgUrl = getGravatar($email);echo 'Typecho将评论头像修改为QQ头像'; ?>

强烈推荐:

Typecho将评论头像修改为QQ头像
实现typecho评论框输入QQ号码自动获取QQ头像和昵称

玩不溜,花了不少时间才实行了这个功能,网上找打的都是wordpress比较多,结构不是很熟悉,又用不了,看看评论效果把 输入QQ就自动获取昵称,邮箱和头像,可能还有....

TAGS:typecho
!如链接失效请在下方留言。本站所有资源均来源于网络,版权属于原作者!仅供学习参考,本站不对您的使用负任何责任。如果有侵权之处请第一时间联系我们删除,敬请谅解!