Typecho自定义显示随机的用户头像实现方法

Typecho自定义显示随机的用户头像实现方法

如果先生的头像
2024-07-06 / 0 评论 / 355 阅读 / 正在检测是否收录...

Typecho用户头像默认是调用Gravatar头像,由于国内对Gravatar的访问并不是很友好,有时还会出现无法加载的现象,为了解决此问题,我们可以采取不调用远程第三方头像的方法,将头像保存的服务器本地,直接随机的去调取,这样可以很好的避免头像加载慢或无法加载的问题,而且还可以自定义显示想要的头像图片。

typecho-头像2.jpg

这里给大家分享2种实现方法,一种简单点,另一种稍稍复杂点,是第一种方法的升级版。

想要本地实现就需要修改主题代码:

1、首先我们先打开主题的功能文件(functions.php)

2、在“functions.php”里面添加如下代码:

第一种简单版:

/**
 * 添加随机用户头像
*/
function ifsir_random_avatarImg() {
    $options = Typecho_Widget::widget('Widget_Options');
    $avatarImg = $options->themeUrl .'/img/avatar/' . rand(1, 20) . '.jpg';
    echo $avatarImg;
}

使用方法:在需要调用头像的地方将图片引用的src值改为 ifsir_random_avatarImg() 即可,如

<img src="<?php ifsir_random_avatarImg();?>"/>

第二种,升级版:

/**
 * 添加随机用户头像 升级版
 * 将管理员的头像单独显示,其他用户头像随机
*/
function ifsir_random_avatarImg($user) {
    $options = Typecho_Widget::widget('Widget_Options');
    if($user == 'admin'){
        $avatarImg = $options->themeUrl .'/img/avatar/admin.jpg';// 管理员的头像
    }else{
        $avatarImg = $options->themeUrl .'/img/avatar/' . rand(1, 20) . '.jpg';
    }
    echo $avatarImg;
}

使用方法:与第一种方法一样,在图片引用的src中调用即可,不过需要注意的是调用时需要添加用户的属性,如用户评论区想要调用头像就可以这样:

<img src="<?php ifsir_random_avatarImg($comments->author);?>"/>

typecho-头像.jpg

这里也为大家准备了头像图片,想要的自己下载。

PS:如果想要自定义头像,可自己先找好头像并保存到本地,然后把头像文件名按照“1.jpg、2.jpg、3.jpg ...”的文件名方式来重命名即可。

0

打赏

评论

博主关闭了当前页面的评论
繁體中文