Gravatar头像加载缓慢的问题,一直困扰着我们,启用头像本地缓存或者缓存到类似七牛云上可能是唯一可行的办法。

还有一个让人郁闷的是,很多评论留言者并没有申请Gravatar头像,只能显示typecho自带的古怪头像,看着很不爽。

下面分享一段随机显示本地评论头像的代码,预先准备一些漂亮的图片代替Typecho自带的头像。可以下载我下面的图片作为使用。

头像文件下载

avatar.zip

添加代码

将下面代码添加到当前主题functions.php中:

/**
 * 添加随机用户头像
 */
function local_random_avatar() {
    $options = Typecho_Widget::widget('Widget_Options');
    $thumb= $options->themeUrl .'/img/avatar/' . rand(1, 10) . '.jpg';
    $avatar = "<img alt='用户头像' src='{$thumb}' class='avatar avatar-50 photo' />";
    echo $avatar;
}

使用方法

在要调用头像的地方插入:
<?php local_random_avatar()?>

效果图

20200226001.PNG

第二种代码,博主的图像不一样显示:

将下面代码添加到当前主题functions.php中:

/**
 * 添加随机用户头像
 */
function local_random_avatar($user) {
    $options = Typecho_Widget::widget('Widget_Options');
    if($user == 'admin'){
        $thumb= $options->themeUrl .'/img/avatar-default.png';
    }else{
        $thumb= $options->themeUrl .'/img/avatar/' . rand(1, 10) . '.png';
    }
    $avatar = "<img alt='{$user}的头像' src='{$thumb}' class='avatar avatar-50 photo' />";
    echo $avatar;
}

使用方法

在要调用头像的地方插入:
<?php local_random_avatar($comments->author)?>

效果图:

20200226002.PNG