一、需求

使用 typecho 进行模板开发的时候,默认评论样式很难看。

因此需要评论需要重新输出或进行样式设定。

默认的评论模板文件路径是:comments.php

关于评论模板开发的官方文档地址是:

主要使用的相关变量:

二、自定义评论输出

1、threadedComments 方法

如果要自定义评论输出内容,则需要重写 threadedComments($comments, $options) 方法,这个方法需要放在模板文件中 <?php $this->comments()->to($comments); ?> 的前面,因为实际上 $this->comments()->to($comments); 会调用 threadedComment 模板。

下面的方法代码是我在 基于Bootstrap4的 响应式 typecho 博客主题 使用的自定义评论模板。

最终的效果是:

Typecho模板开发自定义评论样式

2、css样式设置

使用上面代码输出的样式仍旧是默认的样式,因此需要对上面的 class 进行 css 处理。

三、判断是否是作者本人的评论或者回复

如果要如上面示意图显示是否是本人发表的评论,则需要进行一次判断。

typecho 官方文档给的方式通过设置 class 的方式,如下:

但是我在使用的时候,并不是很好用,反而会经常出现问题,样式控制也不好控制,于是我直接在作者名字上进行判断:

判断的代码放在作者输出之前或者之后都可以。

首先判断是否有 authorId 属性,如果有,则判断 authorIdownerId 是否一致即可。