typecho全球头像天址更换教程+议论输出调用代码

Typecho的评论默认使用的是Gravata头像,每次页面打开总是卡在gravatar.com的链接,严重影响加载速度,所以必须使用国内比较快的地址进行干预,以达到更好的用户体验。林三之前是修改的源码,现在又学习了主题层面的修改方法,这里和大家分享下,也是为自己做个笔记,方便日后使用和调整。以下内容部分来自百度,部分来自initial主题!

一、通过修改程序源码来替换Gravatar头像地址

打开var/Typecho/Common.php,通过搜索“gravatar”找到下面的代码,大概在939行。

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)

{

if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {

$url = __TYPECHO_GRAVATAR_PREFIX__;

} else {

$url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';

$url .= '/avatar/';

}

if (!emptyempty($mail)) {

$url .= md5(strtolower(trim($mail)));

}

$url .= '?s=' . $size;

$url .= '&r=' . $rating;

$url .= '&d=' . $default;

return $url;

}

修改上面的第6、7行即可,也就是将默认的两个地址进行替换,比如换成这样:

$url = $isSecure ? 'https://cdn.v2ex.com/gravatar/' : 'http://gravatar.duoshuo.com/avatar/';

请注意!两行变成了1行,是因为这两个地址的头像目录不同,所以直接合并写成了1个网址。

二、通过主题 functions.php 新增函数来替换Gravatar头像地址

打开 functions.php 第2行添加 define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/'); 即可实现地址更改,不需要在 config.inc.php 中修改源文件。如果想要更换成其它地址,修改 v2ex 地址为其它即可。

林三为了让主题更加质感,将地址修改功能集成到主题设置里面,需要在 functions.php 的 function themeConfig($form) 内增选项。基本逻辑是,如果没有选择使用哪个国内地址,则默认使用官方的头像地址。

1、先在首行

<ol ><li ><?php$comments->author(true);?>//输出评论人昵称,参数true为带链接的,false为不带链接的;</li><li>//ps.其实还有一个参数,类型也是布尔,作用是是否带noFollow</li><li ><?php$comments->excerpt(18,'...');?>//输出评论摘要,靠前个参数是要截取的长度,第二个是截取后的字符串;</li><li><?php$comments->permalink();?>//获取当前评论链接,木有参数;</li><li ><?php$comments->title();?>//获取当前评论标题,同样木有参数;</li><li><?php$comments->dateWord();?>//输出词义化日期,就是输出“3小时前”、“三天前”之内的;</li><li ><?php$comments->gravatar();?>//调用gravatar输出用户头像,有两个参数,靠前个是头像尺寸,默认是32,第二个是默认输出的头像。</li></ol>

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。