博主使用 Typecho 也有个一段时间了,在使用 Typecho 的过程中,我学习至了不少的 PHP 技能,我除了可以做 TC 的模版开发及插件开发,还可以撰写属于自己的简易 CMS 程序。

  但是呢 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 源typecho模板编写,例如 V2EX 提供的源。

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

  排错功能

  插入如下代码后,在撰写插件或模版碰到问题时会输出更具体的报错信息(还要确认 PHP 的 display_errors 是否为 On)

  define('__TYPECHO_DEBUG__', true);

  模板开发

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

  这段是 Typecho 的胸部输出内容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();

  页面链接

Last modification:December 20th, 2020 at 12:58 am
如果觉得我的文章对你有用,请随意赞赏