如何修改Typecho主题实现文章评论和引用通告分离
ssr
撰写于 2022年 02月 26 日

相信很多博主跟我有类似的感受,对于Typecho默认将访客评论和引用通告混在一起的方式非常不爽,非常想把这两者才分开来,分别显示,经过几天时间的谷歌百度加自我摸索,算是彻底解决了这个急死强迫症患者的小难题。
首先,我们先通过Typecho官方来了解下Typecho 控制评论的类型的代码:
显示全部(默认),即显示comment、trackback、pingback

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

只显示comment
<?php $this→comments('comment')→to($comments); ?>

只显示trackback
<?php $this→comments('trackback')→to($trackbacks); ?>

只显示pingback
<?php $this→comments('pingback')→to($pingbacks); ?>

然后我们来讨论如何通过修改主题模板 comments.php 文件来实现分享文章评论和引用通告的分离:
对主题模板 comments.php 文件进行编辑操作,在其中找到显示全部的语句,然后对其进行修改,也就是把显示全部的语句换成只显示评论:
<?php $this->comments('comment')->to($comments); ?><!-- 关键 -->
<?php if ($comments->have()) : ?>

    <?php while ($comments->next()) : ?>

  1. <?php $comments->gravatar(32, '', '', 'avatar'); ?>
    <?php $comments->author() ?> Says:

    <?php $comments->date('F jS, Y'); ?> at <?php $comments->date('h:i a'); ?>

    <?php $comments->content() ?>


  2. <?php endwhile; ?>

<?php endif; ?>

然后输出 pingback,pingback 并不需要那么多的展示内容,假设只展示标题和日期,则修改代码如下
<?php $this->comments('pingback')->to($pingbacks); ?><!-- 关键 -->
<?php if ($pingbacks->have()) : ?>

Pingbacks



    <?php while ($pingbacks->next()) : ?>
  1. <?php $pingbacks->author() ?> <?php $pingbacks->date('F jS, Y'); ?>

  2. <?php endwhile; ?>

<?php endif; ?>

把输出 pingback 的代码与输出评论的代码放在不同的位置即可,你也可以分别为它们添加CSS样式。
同理,如果要显示 trackback,可按如上的修改方法操作。

如何修改Typecho主题实现文章评论和引用通告分离

相信很多博主跟我有类似的感受,对于Typecho默认将访客评论和引用通告混在一起的方式非常不爽,非常想把这两者才分开来,分别显示,经过几天时间的谷歌百度加自我摸索,算是彻底解决了这个急死强迫症患者的小难题。
首先,我们先通过Typecho官方来了解下Typecho 控制评论的类型的代码:
显示全部(默认),即显示comment、trackback、pingback

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

只显示comment
<?php $this→comments('comment')→to($comments); ?>

只显示trackback
<?php $this→comments('trackback')→to($trackbacks); ?>

只显示pingback
<?php $this→comments('pingback')→to($pingbacks); ?>

然后我们来讨论如何通过修改主题模板 comments.php 文件来实现分享文章评论和引用通告的分离:
对主题模板 comments.php 文件进行编辑操作,在其中找到显示全部的语句,然后对其进行修改,也就是把显示全部的语句换成只显示评论:
<?php $this->comments('comment')->to($comments); ?><!-- 关键 -->
<?php if ($comments->have()) : ?>

    <?php while ($comments->next()) : ?>

  1. <?php $comments->gravatar(32, '', '', 'avatar'); ?>
    <?php $comments->author() ?> Says:

    <?php $comments->date('F jS, Y'); ?> at <?php $comments->date('h:i a'); ?>

    <?php $comments->content() ?>


  2. <?php endwhile; ?>

<?php endif; ?>

然后输出 pingback,pingback 并不需要那么多的展示内容,假设只展示标题和日期,则修改代码如下
<?php $this->comments('pingback')->to($pingbacks); ?><!-- 关键 -->
<?php if ($pingbacks->have()) : ?>

Pingbacks



    <?php while ($pingbacks->next()) : ?>
  1. <?php $pingbacks->author() ?> <?php $pingbacks->date('F jS, Y'); ?>

  2. <?php endwhile; ?>

<?php endif; ?>

把输出 pingback 的代码与输出评论的代码放在不同的位置即可,你也可以分别为它们添加CSS样式。
同理,如果要显示 trackback,可按如上的修改方法操作。

赞 (0)

猜您想看

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论