最新动态
Typecho 自定义评论模板
2025-01-02 10:58

百度了好多篇文章,用起来都会报错,花了一天时间研究,终于搞明白自定义评论是怎么做的。

Typecho 自定义评论模板

typecho的评论模板是comments.php文件,在这个文件,可能会有人在开头加上这句话:

事实上这句话是不需要的,记得删除它。

很多人在看官方的文档时就会迷糊,说了那么多,到底自定义评论的完整结构是啥,这里我就简单列出来,就三个部分。

comments.php
|
---- 自定义评论列表函数
|
---- 评论表单
|
---- 评论列表输出

其中评论表单和评论列表输出是可以相互更换位置的,但是自定义评论列表函数一定要在最上面。

该函数可以控制评论列表的输出内容,我们可以自定义输出什么东西,什么位置。

这样写就是基本的起手式了,自定义评论列表写之前我们要知道几个调用的方法。

方法作用<?php $comments->author(); ?>评论者头像(avatar源)<?php $comments->author(); ?>评论者名字<?php $comments->permalink(); ?>评论者当前评论的页面和定位,点击可以跳转到该评论位置<?php $comments->date('Y-m-d H:i'); ?>评论的时间,可以到data查看对应的格式<?php $comments->reply('Reply'); ?>回复按钮<?php $comments->content(); ?>评论的内容

然后我们根据自己的要求写出对应的html结构

这样一个基本结构有了,我们还要考虑子评论,也就是该评论的回复评论。

这句话表示如果有子评论,将按照刚刚自定义的评论列表函数输出子评论。也就是说,评论列表永远都是使用同一个模板,不断的嵌套的。

完整代码:

这里自定义评论部分结束!

表单部分和官方文档一样,可以自行修改,这里就贴代码出来示意一下

这里我们可以注意到每个input表单元素都有一个required属性,这个属性就是typecho调用表单验证的地方,如果不需要博客自带的验证就可以去掉对应的判断php代码,但是我觉得还是用比较好,没必要自己再去写,现成的不好吗,又能减少代码书写,岂不美哉。

禁止评论

博客可以设置禁止评论,所以在使用表单之前还要判断有没有禁用评论

通过可以直接输出所有的评论,而且是按照最顶部的自定义模板输出的。

自定义评论完成,这才是最正宗的,完美版本。

评论列表报错

这次我再次使用的时候出现了一个问题,就是回复列表输出时出现了have()输出null的情况,找了半天发现漏了一句,没有这个变量就不存在,have函数也不存在就会报错,目前已经更正了。

评论头像修复

会直接输出一个img元素,所以不需要再套一个img元素,目前已更正

关于评论列表报错的更多理解

由于缺少了指定变量所以报错,而且这个变量还有个地方使用到了,就是点击回复会将评论表单插入到当前回复内容下面,会有一个关闭按钮,这个关闭按钮也需要用到,所以在使用的时候可以把上面那句变量丢在表单元素的上面。

点击回复表单不自动插入到当前评论内容下

原因是因为我忘记给每个评论加上对应的id了,将评论内容加上id

将下面的代码放入评论的内容后面即可;


    以上就是本篇文章【Typecho 自定义评论模板】的全部内容了,欢迎阅览 ! 文章地址:http://fabua.ksxb.net/quote/5408.html 
     动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 海之东岸资讯移动站 http://fabua.ksxb.net/mobile/ , 查看更多