Typecho主题开发常用方法
in 建站教程 with 0 comment

Typecho主题开发常用方法

in 建站教程 with 0 comment

网上有很多关于此类的文章,但是每当我们用的是时候却发现那些文章要么不全,要么根本就是错的,还有就是文章排版和表达方式有问题。

本篇文章转载自网络,帖子网重新整理和排版

注意:因为本站所用主题的原因,文中代码不能直接写
    ;所以文中 *[编号1-4] 使用时需加上
      标签

      写法请参照下图

      QQ截图20170901123923.jpg

      网站名称

      <?php $this->options->title(); ?>
      

      网站地址

      <?php $this->options->siteUrl(); ?>
      

      后台地址

      <?php $this->options->adminUrl(); ?>
      

      主题完整地址

      <?php $this->options->themeUrl(); ?>
      

      作者名称

      <?php $this->author(); ?>
      

      当前登录用户名称

      <?php $this->user->screenName(); ?>
      

      退出登录地址

      <?php $this->options->logoutUrl(); ?>
      

      RSS 订阅地址

      <?php $this->options->feedUrl(); ?>
      

      RSS 评论

      <?php $this->options->commentsFeedUrl(); ?>
      

      作者头像

      <?php $this->author->gravatar('200') ?>  //可以自定义括号内大小参数
      

      作者所有文章地址

      <?php $this->author->permalink(); ?>
      

      作者个人网站信息

      <?php $this->author->url(); ?>
      

      作者邮箱信息

      <?php $this->author->mail(); ?>
      

      主题内PHP文件引用

      <?php $this->need('*.php'); ?>  //need缺失不报错
      

      最新文章列表

      <?php $this->widget('Widget_Contents_Post_Recent', 'pageSize=8&type=category')->parse('<li><a href="{permalink}">{title}</a></li>'); ?>
      

      文章分类名称合集

      <?php $this->category(',', false); ?>
      

      *[1]文章分类列表

      <?php $this->widget('Widget_Metas_Category_List')->parse('<li><a href="{permalink}">{name}</a>({count})</li>'); ?>
      
      

      *[2]分类所有文章

      <?php
      $this->widget('Widget_Archive@indexyc', 'pageSize=8&type=category', 'mid=1')
      ->parse('<li><a href="{permalink}" title="{title}">{title}</a></li>'); ?>
      
      

      *[3]最新评论列表

      <?php $this->widget('Widget_Comments_Recent')->to($comments); ?>
      <?php while($comments->next()): ?>
          <li><a href="<?php $comments->permalink(); ?>"><?php $comments->author(false); ?></a>: <?php $comments->excerpt(50, '...'); ?></li>
      <?php endwhile; ?>
      
      

      *[4]时间归档

      <?php $this->widget('Widget_Contents_Post_Date', 'type=month&format=F Y')->parse('<li><a href="{permalink}">{date}</a></li>'); ?>
      
      

      标签云

      <?php $this->widget('Widget_Metas_Tag_Cloud', 'ignoreZeroCount=1&limit=28')->to($tags); ?>
      <?php while($tags->next()): ?>
      <a href="<?php $tags->permalink(); ?>" class="size-<?php $tags->split(5, 10, 20, 30); ?>"><?php $tags->name(); ?></a>
      <?php endwhile; ?>
      

      遍历输出文章

      <?php while($this->next()): ?>
      <!--文章标题内容等-->
      <?php endwhile; ?>
      

      当前文章相关内容

      <?php $this->related(5)->to($relatedPosts); ?>
      <?php if ($relatedPosts->have()): ?>
      <?php while ($relatedPosts->next()): ?>
          <li><a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>"><?php $relatedPosts->title(); ?></a></li>
      <?php endwhile; ?>
      <?php else : ?>
          <li>没有相关文章</li>
      <?php endif; ?>
      

      文章页面标题

      <?php $this->title() ?>
      

      文章页面地址

      <?php $this->permalink() ?>
      

      文章页面发表时间

      <?php $this->date(); ?>
      

      文章页面评论数

      <?php $this->commentsNum('没有评论', '1 条评论', '%d 评论'); ?>
      

      文章页面阅读更多

      <?php $this->content('阅读剩余部分'); ?>
      

      文章所在分类

      <?php $this->category(','); ?>
      

      文章标签

      <?php $this->tags(' ', true, '没有标签'); ?>
      

      文章分页

      <?php $this->pageNav(); ?>
      

      上一篇文章地址

      <?php $this->theNext(); ?>
      

      下一篇文章地址

      <?php $this->thePrev(); ?>
      

      登录与否判定

      <?php if($this->user->hasLogin()): ?>
      登录可见
      <?php else: ?>
      均可见
      <?php endif; ?>
      
      
      Responses