Typecho 语法及函数集合

技术
0

网友 目的地-Destination 整理的 Typecho 的语法及函数,挺全面的。保存下来,方便查阅!
模板函数
1、站点名称

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

2、站点网址

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

3、完整路径标题

<?php $this->archiveTitle(' &raquo; ', < span class="string">'', ' | '); ?>
//或
<?php $this ->options->title(); ?>

4、站点说明

<?php $this->options->description() ?>

5、模板文件夹地址

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

6、导入模板文件夹内的 *.php 文件

<?php $this->need('***.php'); ?>

7、文章或者页面的作者

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

8、作者头像

<?php $this->author->gravatar('40') ?>

//输出的是完整的标签,40是头像的宽和高。
9、文章作者全部文章列表链接

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

10、文章作者个人主页链接

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

11、文章作者的邮箱地址

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

12、上一篇与下一篇调用代码

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

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

13、判断是否为首页,输出相关内容

<?php if ($this->is('index')): ?>
//首页输出内容
<?php else: ?>
//不是首页输出内容
<?php endif; ?>
14、文章或页面的评论数目
<?php $this->commentsNum('No Comments', '1 Comment' , '%d Comments'); ?>

15、截取部份文章(文章摘要)

<?php $this->excerpt(350, '...'); ?>

//首页每篇文章显示摘要),350 是字数
16、调用自定义字段

<?php $this->fields->fieldName; ?>

17、RSS 地址

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

18、获取最新文章

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

19、文章分类名称(不带链接)

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

20、文章分类名称(带链接)

<?php if ($this->is('post')): ?>
    <span>
         <?php $this->category(' '); ?>
    </span>
<?php endif; ?>

21、获取文章分类列表

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

22、获取某分类(mid=1)文章

    widget('Widget_Archive@indexyc', 'pageSize=8&type=category', 'mid=1') ->parse('
  • {title}
  • '); ?>

23、获取最新评论列表

    widget('Widget_Comments_Recent')->to($comments); ?> next()): ?>
  • author(false); ?>: excerpt(50, '...'); ?>

//数字50为截取评论的字数
24、获取最新文章(限制数量)
<?php while ($this->next()): ?>
<?php if ($this->sequence <= 3): ?>
//html代码,数字3为最近3篇文章
<?php endif; ?>
<?php endwhile; ?>
25、获取最新评论列表 (只显示访客评论不显示作者评论)
<? php $this->widget('Widget_Comments_Recent','ignoreAuthor=true')->to($comments); ?>
<? php while($comments->next()): ?>

  •  <a href="<?php $comments->permalink(); ?>"><?php $comments->author(false); ?></a>: <?php $comments->excerpt(50, '...'); ?>


  • <?php endwhile; ?>
    26、获取文章时间归档

      widget('Widget_Contents_Post_Date', 'type=month&format=F Y')->parse('
    • {date}
    • '); ?>

    27、获取标签集合(标签云)
    <?php $this->widget('Widget_Metas_Tag_Cloud', 'ignoreZeroCount=1&limit=28')->to($tags); ?>
    <?php while($tags->next()): ?>

    <?php endwhile; ?>
    28、调用相关文章列表
    <?php $this->related(5)->to($relatedPosts); ?>

    <?php if ($relatedPosts->have()): ?>    //这句也可以写成 if (count($relatedPosts->stack))
    <ul>
       <?php while ($relatedPosts->next()): ?>
        <li>
           <a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>"><?php $relatedPosts->title(); ?></a>
        </li>
    <?php endwhile; ?>
    </ul>
    <?php else : ?>
        <li>无相关文章</li>
    <?php endif; ?>

    29、隐藏 head 区域的程序版本和模版名称
    <?php $this->header("generator=&template="); ?>
    30、获取读者墙
    <?php
    $period = time() - 999592000; // 時段: 30 天, 單位: 秒
    $counts = Typecho_Db::get()->fetchAll(Typecho_Db::get()
    ->select('COUNT(author) AS cnt','author', 'url', 'mail')
    ->from('table.comments')
    ->where('created > ?', $period )
    ->where('status = ?', 'approved')
    ->where('type = ?', 'comment')
    ->where('authorId = ?', '0')
    ->group('author')
    ->order('cnt', Typecho_Db::SORT_DESC)
    ->limit(25)
    );
    $mostactive = '';
    $avatar_path = '
    http://www.gravatar.com/avatar/';
    foreach ($counts as $count) {
    $avatar = $avatar_path . md5(strtolower($count['mail'])) . '.jpg';
    $c_url = $count['url']; if ( !$c_url ) $c_url = Helper::options()->siteUrl;
    $mostactive .= "<a href='" . $c_url . "' title='" . $count['author'] . " (参与" . $count['cnt'] . "次互动)' target='_blank'>" . $count[\n";
    }
    echo $mostactive; ?>
    31、登陆与未登录用户展示不同内容
    <?php if($this->user->hasLogin()): ?>
    // 登陆可见
    <?php else: ?>
    // 未登录和登陆均可见
    <?php endif; ?>
    32、导航页面列表调用隐藏特定的页面 这个演示隐藏了 al­bum 和 search 两个页面

      is('index')): ?> class="current">主页 widget('Widget_Contents_Page_List')->to($pages); ?> next()): ?> slug != 'album') && ($pages->slug != 'search')): ?> is('page', $pages->slug)): ?> class="current"> typecho函数 typecho语法
    最后更新 2023-03-03
    评论 ( 0 )
    OωO
    隐私评论