typecho 页面中调用最新评论/留言/回复
Typecho页面中调用最新评论/留言/回复功能,通过内置`Widget_Comments_Recent`组件实现。可设置获取评论数目、忽略博主评论等参数,并支持多种用法和代码示例。
本文最后由 荒野孤灯 更新于 2023 年 11 月 20 日 09 时 15 分,已有 367 天未更新。今日被查阅 2 次,若内容或图片资源失效,请留言反馈,谢谢!
摘要由 AI 智能生成
有时,博客都会在侧边栏或单页中加入“最新评论”或“最近回复”列表,提高PV,或者吸引蜘蛛。此功能主要通过 typecho 内置的 Widget_Comments_Recent
组件提供。
代码如下:
<?php $obj = $this->widget('Widget_Comments_Recent');
if($obj->have()){
while($obj->next()){
$obj->text();
... ...
}
}else{
echo '无最新回复';
}
; ?>
comments 可用字段
coid:评论 id
cid:评论所属文章的 id
author:作者名称,未登录时在发表评论时填写
mail:作者邮箱,未登录时在发表评论时填写
url:作者个人主页,未登录时在发表评论时填写
ip:作者发表的 ip
authorId:Typecho 用户的用户 id
agent:表示发表评论时的程序,一般是 Typecho 的版本信息,譬如 Typecho 1.2/22.04.01,如果是第三方评论插件,则可能是其他值
text:评论的内容
type:评论的类型,譬如 “comment”
status:评论的状态,譬如 “approved”
parent:评论的上级评论,一般回复某条评论时,此值非0
created:评论发表的时间戳
date:评论发表的时间,Typecho_Date 类型
Widget_Comments_Recent 可用参数
pageSize 获取最新评论的数目,获取最新的 10 条评论代码如下:
<?php $this->widget('Widget_Comments_Recent','pageSize=10'); ?>
ignoreAuthor 是否忽略博主评论,默认是 false。
<?php $this->widget('Widget_Comments_Recent','ignoreAuthor=true'); ?>
pageSize 和 ignoreAuthor 同时使用:
<?php $this->widget('Widget_Comments_Recent','pageSize=10&ignoreAuthor=true'); ?>
Widget_Comments_Recent 常见用法
常规用法
传统的,通过 widget 方法初始化组件,并使用 next() 进行迭代。此方法是最传统的 widget 使用方法,但弊端是代码冗长。
<?php $this->widget('Widget_Comments_Recent')->to($recent);?>
<?php while($recent->next()):?>
......
<?php endwhile;?>
快捷用法
通过 Widget 的 parse 方法,可以极大简化上述代码:
<?php $this->widget('Widget_Comments_Recent')->parse('<a href="{permalink}">{text}</a>'); ?>
至于有哪些字段可用,请参考上文。
Widget_Comments_Recent 常用代码
1.隐藏博主评论
在侧栏的最近评论列表中显示博主的最近评论没太大必要,如果博主评论多了,反而会影响PV,甚至部分博主压根就不想在最新评论列表中显示自己的评论回复。见上文,使用 ignoreAuthor 参数即可达到隐藏博主评论的目的。具体方法很简单
找到模板文章中,一般是 sidebar.php 中,找到调用最近回复的代码:
<?php $this->widget('Widget_Comments_Recent')->to($comments); ?>
<?php while($recent->next()):?>
......
<?php endwhile;?>
改成:
<?php $this->widget('Widget_Comments_Recent','ignoreAuthor=true')->to($comments); ?>
<?php while($recent->next()):?>
......
<?php endwhile;?>
2.隐藏博主评论 & 引用条数
<?php $this->widget('Widget_Comments_Recent','pageSize=10&ignoreAuthor=true')->parse('<li><span style="padding:5px 15px;color:#f8f8f5">{author} :</span><a href="{permalink}">{text}</a><span style="float:right;"><small>{dateWord}</small></span></li><br/>'); ?>
效果详见: https://www.80srz.com/comment.html 。参数及 CSS 样式可根据自己需要修改、增减。
分类标签:折腾,typecho,主题模板,工具代码
文章链接:https://80srz.com/posts/670.html
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
Москва не сразу строилась.
Я думаю, что это — заблуждение. Могу доказать. виды вареного кофе отличия, классический кофе и кофе какие бывают напитки
what?
这个好~
哪里好?
如果是两栏博客的话,可以选择放到右侧边栏,这样方便查看最新评论。
使用场景还挺多的