Typecho 一些冷门小技巧


切换 IP 来源获取

如果你的网站使用了 CloudFlare 一类的 CDN 服务使得部分插件无法正常记录用户 IP 地址的话,可以在 config.inc.php 声明这个静态变量,替换成服务商对应的用户 IP 头就可以了!CloudFlare 现在默认提供的是 HTTP_X_FORWARDED_FOR 头传送用户真实 IP 地址,所以我直接填入头的名称就可以了!

define('__TYPECHO_IP_SOURCE__', 'HTTP_X_FORWARDED_FOR');

使用自己的静态存储

如果你有自己的 CDN 或静态存储,希望 Typecho 不使用默认的站点地址来分发内容,可以在 config.inc.php 声明这个静态变量,替换成你自己的附件地址即可!REQUEST_SCHEME 是访问站点的协议,所以 HTTP、HTTPS 都可以使用。

define('__TYPECHO_UPLOAD_URL__', $_SERVER['REQUEST_SCHEME'] . '://static.paugram.com');

自定义 Gravatar 源

使用自己的 Gravatar 源,例如 V2EX 提供的源。

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');

排错功能

插入如下代码后,在编写插件或模板遇到问题时会输出更详细的报错信息(还要确认 PHP 的 display_errors 是否为 On)

define('__TYPECHO_DEBUG__', true);

模板开发

这两段函数在模板开发中必不可缺,否则会出现一些奇怪的 Bug!

这段是 Typecho 的头部输出内容,如缺少将导致文章评论出现异常。建议放在 header.php 里面。

$this -> header();

这段是 Typecho 的尾部输出内容,如缺少将可能导致部分需要前端支持的插件无法使用。建议放在 footer.php 里面。

$this -> footer();

输出头像

这段函数用于输出当前页面的作者头像,可以用来做作者介绍和版权提示。参数是头像尺寸,建议大于等于 64 像素。

$this -> author -> gravatar(64);

输出当前登录用户的头像地址,可以用于评论区的输出。

echo Typecho_Common::gravatarUrl($this -> user -> mail, 150, 'X', 'mm')

检测是否登录

用于检测用户是否登录,已登录返回 true 否则为 false,可以用来实现模板内的评论框结构变更,或是限制模板页面的内容不对外显示。

$this -> user -> hasLogin();

页面链接

输出上一页 / 下一页的链接

$this -> pageLink('上一页');
$this -> pageLink('下一页', 'next');

文章时间

获得文章创建的时间

$this -> created

获得文章上次修改的时间

$this -> modified

计算文章修改自多少天前

ceil((time() - $this -> modified) / 86400) // 当前时间减去修改时间,换算为天并取整

文章信息

count($this -> tags()) // 返回标签数量
count($this -> category()) // 返回标签数量
转自https://paugram.com/coding/typecho-secret-usage.html

声明:Jefsky-程序猿甜品店|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Typecho 一些冷门小技巧


代码不一定每天都能写好,但人生每一天都要活好