MENU

Typecho评论图像改为QQ图像或随机图像

September 26, 2023 • 建站教程阅读设置

使用方法
修改Typecho目录下var/Typecho/common.php,在大约826行,关于获取Gravatar的代码

找到以下代码:

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false){
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
    $url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
    $url = $isSecure ? 'https://dn-qiniu-avatar.qbox.me' : 'http://gravatar.proxy.ustclug.org';
    $url .= '/avatar/';}

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

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

return $url;}

替换为

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    $reg = "|^[1-9]\d{4,11}@qq\.com$|i";
    if (preg_match($reg, $mail)) {
        $img    = explode("@", $mail);
        $url = "http://q2.qlogo.cn/headimg_dl?dst_uin={$img[0]}&spec=100";
    }else {
        $number=rand(1,1000);
        $url ="http://images.zyglz.com/blog/image/".$number.".jpg";
    }
    return $url;
}

实现效果
输入QQ邮箱,调用QQ头像;输入普通邮箱,随即一个QQ邮箱图像。

换源
使用官方头像源会拖慢国内的访问速度

在网站根目录下的 config.inc.php 文件,加入以下代码。

/** 更换评论头像源 */define('__TYPECHO_GRAVATAR_PREFIX__', 'http://dn-qiniu-avatar.qbox.me/avatar/');