首页 » 福利 » 关于Typecho博客系统的一些小技巧
关于Typecho博客系统的一些小技巧
  • admin
  • 2018-11-22
  • 383 次
  • 福利

  • 博主使用 Typecho 也有个一两年了,在使用 Typecho 的过程中,我学习到了不少的 PHP 技能,我不仅可以做 TC 的模板开发及插件开发,还可以编写属于自己的简易 CMS 程序。但是 Typecho 的官方文档介绍的相当不详细,很多内置了的方法却没有写出来被众人所了解。下面就给大家分享一些我所了解的一些不为人知的函数和变量,可以以此开发更多的扩展功能。这篇文章将长期不间断更新,欢迎关注~

    日用技巧
    如果你的网站使用了 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 源,例如 V2EX 提供的源。

    define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');
    模板开发
    这两段函数在模板开发中必不可缺,否则会出现一些奇怪的 Bug!

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

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

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

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

    $this -> user -> hasLogin();
    输出当前登录用户的头像地址,可以用于评论区的输出。

    echo Typecho_Common::gravatarUrl($this->user->mail, 150, 'X', 'mm')
    输出上一页 / 下一页的链接

    $this -> pageLink('Previous');
    $this -> pageLink('Next', 'next');




    分享
    最后修改于:2018-12-20 12:18

      已有 11 条评论
      poeple
      poeple # 沙发
      2018-12-20 12:12

      <p>请更改出处 https://paugram.com/coding/typecho-secret-usage.html 这才是文章真正的出处</p>


        admin
        admin 博主 # 负2楼
        2018-12-20 12:30

        可以改,我只是说不是我不支持原作者,只是不知道,所以只有在哪个网站转载的就填写那个网站!既然有朋友提供正确的文章来源,本人也是顺手改一下的事。没有什么改不改的问题

        QQ浏览器 6

        admin
        admin 博主 # 负2楼
        2018-12-20 12:19

        如果转载的文章作者不允许本站转载的话,本站也可以马上删除相关文章

        Chrome 63

        asdasdsad
        asdasdsad # 负2楼
        2018-12-20 12:18

        所以不能改喽?

        Chrome 71

        admin
        admin 博主 # 负2楼
        2018-12-20 12:17

        抱歉这个转载文章的时候,如果没有在文章内容中表明文章出处,本人也只能填写文章来源于本人在哪个网站上面转载的

        Chrome 63

      Chrome 71 回复
      asdfadsfadsf
      asdfadsfadsf # 椅子
      2018-12-20 11:57

      <p><span>请注明文章出处以避免不必要的麻烦</span></p>


        admin
        admin 博主 # 负3楼
        2018-12-20 12:03

        至于这个版权信息文章下面的不是有写吗?可能是文字太小了吧,相比文章内容的文章不太容易看到。(可以本人存有私心吧)。本人还没无耻到从别人处转来的文章归自己原创。

        Chrome 63

      Chrome 71 回复
      poeple
      poeple # 板凳
      2018-12-20 11:54

      请注明文章出处以避免不必要的麻烦


        admin
        admin 博主 # 负4楼
        2018-12-20 12:03

        至于这个版权信息文章下面的不是有写吗?可能是文字太小了吧,相比文章内容的文章不太容易看到。(可以本人存有私心吧)。本人还没无耻到从别人处转来的文章归自己原创。

        Chrome 63

      Chrome 71 回复
      雨致
      雨致 # 地板
      2018-12-01 23:46

      有没有评论使用QQ头像代码?


        admin
        admin 博主 # 负5楼
        2018-12-02 02:27

        //获取Gravatar头像 QQ邮箱取用qq头像
        function tx($email, $s = 96, $d = 'mp', $r = 'g', $img = false, $atts = array())
        {

        preg_match_all('/((\d)*)@qq.com/', $email, $vai); if (empty($vai['1']['0'])) { $url = 'https://www.gravatar.com/avatar/'; $url .= md5(strtolower(trim($email))); $url .= "?s=$s&d=$d&r=$r"; if ($img) { $url = '<img src="' . $url . '"'; foreach ($atts as $key => $val) $url .= ' ' . $key . '="' . $val . '"'; $url .= ' />'; } }else{ $url = 'https://q2.qlogo.cn/headimg_dl?dst_uin='.$vai['1']['0'].'&spec=100'; } return $url;

        }

        QQ浏览器 8

      小米浏览器 回复

    博主介绍

  • 博主:寻梦xunm
  • 邮箱:vipshiyi@qq.com
  • 微信:shiihk
  • 熊掌号:奇乐之梦
  • 语录:追寻最初的梦想,坚持走下去!

  • 关注公众号

    寻梦天下

    微信扫码关注 寻梦天下 公众号

    网站统计

    文章总数:1038 篇文章


    分类总数:24 个分类


    评论总数:235 条评论


    标签总数:1836 个标签


    页面总数:8 个页面