Typecho主题常用代码

typecho是一款不错的php博客系统,轻便而功能完备,也有许多的支持者;但博客除了后台功能外,最重要的应该算得上是博客外观了,可是别人所作的模版一般都不大可能完全符合自己的使用习惯、或是品味。那么我们有必要自己制作、或者至少:能够对已有的模版进行一些个性化的定制,那么,下面的这些小小的技巧也就是必不可少的了。你可以用它们对typecho模版进行一些人性化、个性化的改进。
1,文章title设置,使得对搜索引擎足够友好
示例一:
【博客首页】– 博客名称 – 博客描述【归档页面】–XXXX/XX – 博客名称
【文章页面】–文章标题 – 博客名称【独立页面】—页面标题 – 博客名称
【分类页面】– 分类名称 – 博客名称【标签页面】– 标签 – 博客名称

<br /> <?php if($this->is('index')): ?><?php $this->options->title(); ?>-<?php $this->options->description(); ?><br /> <?php elseif($this->is('archive')): ?><?php $this->archiveTitle('/','',' - '); ?><?php $this->options->title(); ?><br /> <?php else: ?><?php $this->archiveTitle('','',' - '); ?><?php $this->options->title(); ?><?php endif; ?><br />

示例二:
【博客首页】博客名称
【独立页面】页面标题 – 博客名称
【分类页面】分类名称 – 博客名称
【标签页面】Tag: 标签 – 博客名称
【存档页面】存档: XXXX年XX月 – 博客名称
【其它(日志页)】页面标题
<br /> <?php if ($this->is('index')){$this->options->title();}<br /> elseif($this->is('page')){$this->archiveTitle('','',' - ');$this->options->title();}<br /> elseif($this->is('category')){$this->archiveTitle('','',' - ');$this->options->title();}<br /> elseif($this->is('tag')){$this->archiveTitle('','Tag: ',' - ');$this->options->title();}<br /> elseif($this->is('archive')){$this->archiveTitle('年','存档: ','月 - ');$this->options->title();}<br /> else{$this->archiveTitle('','','');}?><br />
或使用(默认):
<br /> <?php $this->archiveTitle('', '', ' - '); ?><?php $this->options->title(); ?>-<?php $this->options->description(); ?><br />

最后给出一个较全面的判断:
is('index')){ ?>
options->title(); ?> - options->description(); ?>
_currentPage>1) echo '第 '.$this->_currentPage.' 页 '; ?>
is('category')) { ?>
Category: archiveTitle(' < ','',''); ?> - options->title(); ?>
is('tag')) { ?>
Tag: archiveTitle(' < ','',''); ?> - options->title(); ?>
is('archive')) { ?>
Keyword: archiveTitle(' < ','',''); ?> - options->title(); ?>
is('attachment')) {?>
Attachment: archiveTitle(' < ','',''); ?> - options->title(); ?>

archiveTitle('', '', ''); ?> - options->title(); ?>

2、相关文章的调用:
related(5)->to($relatedPosts); ?>
have()): ?>
next()): ?>

  • title(); ?> author(); ?> post indate('Y-m-d H:i:s'); ?>

  • No Related Post

  • 3、输出Tags
    输出所有(最好把它用在单独页面中):
    widget('Widget_Metas_Tag_Cloud') ->parse('{name}'); ?>
    或者使用(推荐)(使用于边栏):
    widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true, 'limit' => 20))->to($tags); ?>
    next()): ?>


  • 注:20控制输出数量
    4、分页只显示新文章、旧文章
    pageLink('? 新文章','prev'); ?>
    pageLink('旧文章 ?','next'); ?>

    5、测边栏每月归档后面显示文章数
    widget('Widget_Contents_Post_Date', 'type=month&format=Y年m月')
    ->parse('

  • {date} ({count})
  • '); ?>
    6、复制文章时带版权(注意这是JS)

    7,标签云

    widget('Widget_Metas_Tag_Cloud', ignoreZeroCount=1&limit=20′)->to($tags); ?>
    next()): ?>
    permalink(); ?>”>name(); ?>

    8,最新文章
    widget('Widget_Contents_Post_Recent')->to($post); ?>
    next()): ?>
    permalink(); ?>” title=”title(); ?>”>
    title(25, '…'); ?>


    9,相关内容
    related(5)->to($relatedPosts); ?>
    next()): ?>
    permalink(); ?>” title=”
    title(); ?>”>title(); ?>

    author(); ?> post in
    date('Y-m-d H:i:s'); ?>


    11,日期归档显示统计数量
    widget('Widget_Contents_Post_Date', 'type=month&format=F Y')->parse('

  • {date} ({count})
  • '); ?>
    12,友情链接 要装插件

    13,头部关键信息
    keywords('_'); ?> //关键词
    options->title(); ?> //站点名称
    options->description(); ?> //站点描述
    archiveTitle(); ?> //标题
    options->themeUrl('ie.css'); ?> //模板路径
    options->siteUrl(); ?> //主页网址
    options->feedUrl(); ?>
    options->commentsFeedUrl(); ?>
    pageNav(); ?> //分页
    options->generator(); ?> //版本号

    14,文章页面相关参数调用
    title(); ?> //标题
    category(','); ?> //分类
    tags(', ', true, ''); ?> //标签
    date('F jS, Y') ?> //时间
    content(); ?> //内容
    thePrev('« %s', ''); ?> //上一篇
    theNext('%s »', ''); ?> //下一篇

    15,全部文章列表代码,可以应用在任何地方:

    widget('Widget_Contents_Post_Recent', 'pageSize=10000')->parse('

  • {year}-{month}-{day} : {title}
  • '); ?>
    16,全部标签集列表
    widget('Widget_Metas_Tag_Cloud')
    ->to($taglist); ?>next()): ?>

  • name(); ?>

  • 17,全部日志数量:
    PublishedPostsNum."; ?>
    18,使用下面这个方法,可以自定义首页的文章显示条数,以及自定义分类文章显示:
    function themeInit($archive) {
    if ($archive->is('index')) {
    $archive->parameter->pageSize = 10; // 自定义条数
    }
    }

    或者:
    function themeInit($archive) {
    if ($archive->is('category', 'default')) {
    $archive->parameter->pageSize = 10; // 自定义条数
    }
    }

    19,调用某分类文章,pageSize是数量,mid是分类号:
    widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=1')
    ->parse('

  • {title}
  • '); ?>
    20,侧栏评论忽略博主评论
    widget('Widget_Comments_Recent','ignoreAuthor=true')->to($comments); ?>
    21,typecho自动显示摘要,180为自动摘要的字数
    (有人说是一半,可能他们的意思是字节吧)
    excerpt(180); ?>

    阅读全文


    在这里提醒大家一下:
    excerpt(180,'ABC'); ?>
    则ABC是文章后的省略符号,默认是”…”你可以用
    excerpt(180,''); ?>
    将其定义为空字符串,然后在【阅读全文】后面加上…我个人觉得这样好看一点。
    Te多数调用语句都有类似的参数,随意组合一下,说不定会有惊喜呢。
    22,评论输出:
    author(true); ?>//输出评论人昵称,参数true为带链接的,false为不带链接的;
    //ps.其实还有一个参数,类型也是布尔,作用是是否带noFollow
    excerpt(18, '...'); ?>//输出评论摘要,第一个参数是要截取的长度,第二个是截取后的字符串;
    permalink(); ?>//获取当前评论链接,木有参数;
    title(); ?>//获取当前评论标题,同样木有参数;
    dateWord(); ?>//输出词义化日期,就是输出“3小时前”、“三天前”之内的;
    gravatar(); ?>//调用gravatar输出用户头像,有两个参数,第一个是头像尺寸,默认是32,第二个是默认输出的头像。

    23,分离文章的评论和引用通告:
    打开模板的 comments.php 文件,找到通篇的核心语句:
    comments()->to($comments); ?>
    这条语句控制着评论的类型,他的参数如下:
    显示全部(默认)
    只显示 comment
    只显示 trackback
    只显示 pingback

    为了分开,我们开始对 comments.php 做如下修改,首先只显示评论:
    comments('comment')->to($comments); ?>
    have()) : ?>

      next()) : ?>

    1. gravatar(32, '', '', 'avatar'); ?>
      author() ?> Says:

      date('F jS, Y'); ?> at date('h:i a'); ?>
      content() ?>

    然后输出 pingback,pingback 并不需要那么多的展示内容,假设只展示标题和日期:
    comments('pingback')->to($pingbacks); ?>
    have()) : ?>

    Pingbacks

      next()) : ?>


    1. author() ?> date('F jS, Y'); ?>

    如果你要显示 trackback,也可以按如上的修改。
    24,Typecho文章标题字数限制
    widget('Widget_Contents_Post_Recent')->to($post); ?>
    next()): ?>

  • title(25, '...'); ?>

  • 其具体作用:边栏文章单行显示;因有时边栏标题过长而换行时会使页面排版或动态效果有不完美的地方,此法便可解决。

    文章来源:孙华博客(sunhua.me)

    Typecho主题常用代码》上有1条评论

    评论已关闭。