胖蒜

分享有价值的资源

解决Typecho无法显示Gravatar头像的问题

玩博客的都会碰到这个问题,就是用户头像的问题,基本用的都是Gravatar头像,但因为墙的原因,所以总是连接不了,所说国内也有源,但都不稳定,前两天我换了这个 https://cravatar.cn/avatar/ 以为能好点,没想到又不行了,逼着我只能又去换。
Cravatar头像
于是就是网上搜了一下,有这些:

源名称源地址
七牛 (推荐)https://dn-qiniu-avatar.qbox.me/avatar/
极客族 (推荐)https://sdn.geekzu.org/avatar/
九月的风https://cdn.sep.cc/avatar/
V2EXhttps://cdn.v2ex.com/gravatar/
Cravatarhttps://cravatar.cn/avatar/
Ihuanhttps://gravatar.ihuan.me/avatar/
lolihttps://gravatar.loli.net/avatar/
WeAvatarhttps://weavatar.com/avatar/

我选择了七牛的,应该比较稳定一些吧。

那么怎样替换呢?怎样才能方便呢?

我是这样的,在config.inc.php文件里面,定义一个常量,如下:

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

那么后面在用到头像的地方,直接用__TYPECHO_GRAVATAR_PREFIX__即可,如果头像源出问题了,只需要在config.inc.php这个地方换一下即可,很方便。

在TePass插件中的头像处理方法

在TePass插件中,我也用到了头像,默认的都是用Gravatar,如果没有,那么就PHP生成一个首字母的头像,首字母的在插件已经写好了,那么这个Gravatar的头像为了不让常量冲突,我是这么定义的:

if(!defined('__TYPECHO_GRAVATAR_PREFIX__')){
    define('__TYPECHO_GRAVATAR_PREFIX__', 'https://dn-qiniu-avatar.qbox.me/avatar/');
}

在static.php在这个文件里面,所以如果你的头像源不稳定了,去这里手工替换一下即可,这样一来,以后出现了头像源无法连接的问题,就好解决了。

关于头像源这个,我用了很多方法,但总没有一个能完美解决的,目前我觉得只能让用户用简单一点的方法自己能解决,就很不错了。

本文属原创,转载请注明原文:https://pangsuan.com/p/define_typecho_gravatar.html

感觉很棒,欢迎点赞 OR 打赏~

分享到:

评论 (0)

立即登录评论
马上咨询 在线工单