typecho主题制作教程(17)分离文章的评论和引用通告

. 分享 . 0 吐槽 . 456人围观

分离文章的评论和引用通告

打开模板的 comments.php 文件,找到通篇的核心语句:

<?php $this->comments()->to($comments); ?>

这条语句控制着评论的类型,他的参数如下:

语句注释
<?php $this→comments()→to($comments); ?>显示全部(默认)
<?php $this→comments('comment')→to($comments); ?>只显示 comment
<?php $this→comments('trackback')→to($trackbacks); ?>只显示 trackback
<?php $this→comments('pingback')→to($pingbacks); ?>只显示 pingback

为了分开,我们开始对 comments.php 做如下修改,首先只显示评论:

<?php $this->comments('comment')->to($comments); ?><!-- 关键 -->
<?php if ($comments->have()) : ?>
    <ol>
    <?php while ($comments->next()) : ?>
    <li id="<?php $comments->theId() ?>">
        <div class="comment_data">
            <?php $comments->gravatar(32, '', '', 'avatar'); ?>
            <span><?php $comments->author() ?></span> Says:<br />
            <?php $comments->date('F jS, Y'); ?> at <?php $comments->date('h:i a'); ?>
        </div>
        <div class="comment_text"><?php $comments->content() ?></div>
    </li>
    <?php endwhile; ?>
    </ol>
<?php endif; ?>

然后输出 pingback,pingback 并不需要那么多的展示内容,假设只展示标题和日期:

<?php $this->comments('pingback')->to($pingbacks); ?><!-- 关键 -->
<?php if ($pingbacks->have()) : ?>
    <h3>Pingbacks</h3>
    <ol>
    <?php while ($pingbacks->[next](http://www.php.net/next)()) : ?>
        <li id="<?php $pingbacks->theId() ?>">
            <?php $pingbacks->author() ?> <?php $pingbacks->[date](http://www.php.net/date)('F jS, Y'); ?>
        </li>
    <?php endwhile; ?>
    </ol>
<?php endif; ?>

如果你要显示 trackback,也可以按如上的修改。typecho 模板语法很多是通用的,所以当你遇到不清楚的问题时,可以自己试着拼凑一下,就会有惊喜哦。

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

孤独患者

嘤嘤嘤 ~ 您的爱心大炮射中了我 开心开心

使用微信扫描二维码完成支付

# 你可能在找...

评论