TYPECHO WIKI
每一个作品都值得被记录

敬告读者,感谢您对本站的支持,在今年10月份因Racknerd机房硬盘事故,导致本站静态文件全部丢失,包含主题插件网站图片等文件,TypechoWiki经过几次更换站长,凝结了多位站长的心血,如今因为大意只备份了数据库未及时备份静态文件而导致严重数据丢失事故,现已无力回天,经过深思我决定后续可能永久停更该网站,请各位读者寻求其它Typecho周边下载站,另外如果你对本站感兴趣也欢迎报价,我们愿意出售该站联系邮箱[email protected],目前该站的静态文件仅为2019年以前的版本,2019年以后的各位站长精心维护的插件和主题压缩包以及站内图片全部丢失!

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

Typecho维基君Typecho教程 • 1398次浏览 • 发布 2023-01-18 • 更新 2023-01-18

相信很多博主跟我有类似的感受,对于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()) : ?>
<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()) : ?>
<li id="<?php $pingbacks->theId() ?>">
<?php $pingbacks->author() ?> <?php $pingbacks->date('F jS, Y'); ?>
</li>
<?php endwhile; ?>
</ol>
<?php endif; ?>

把输出 pingback 的代码与输出评论的代码放在不同的位置即可,你也可以分别为它们添加CSS样式。

同理,如果要显示 trackback,可按如上的修改方法操作。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »