Typecho中调用最新评论

有时,为了提高PV,或者吸引蜘蛛,一般博客都会在侧边栏中加入“最新评论”或“最近回复”列表。此功能主要通过typecho内置的`Widget_Comments_Recent`组件提供。。

$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
* ownerId:
* agent:表示发表评论时的程序,一般是Typecho的版本信息,譬如Typecho 1.0/14.10.10,如果是第三方评论插件,则可能是其他值
* **text**:评论的内容
* type:评论的类型,譬如“comment”
* **status**:评论的状态,譬如“approved”
* **parent**:评论的上级评论,一般回复某条评论时,此值非0
* **created**:评论发表的时间戳
* date:评论发表的时间,Typecho_Date类型

### Widget_Comments_Recent可用参数
* pageSize 获取最新评论的数目。
`$this->widget(‘Widget_Comments_Recent’,’pageSize=10′)`则获取最新的10条评论
* ignoreAuthor 是否忽略博主评论,默认是false。

### Widget_Comments_Recent常见用法
**常规用法**

传统的,通过widget方法初始化组件,并使用next()进行迭代。此方法是最传统的widget使用方法,但弊端是代码冗长。

$this->widget(‘Widget_Comments_Recent’)->to($recent);
while($recent->next()):
……
endwhile;

**快捷用法**

通过Widget的parse方法,可以极大简化上述代码:

$this->widget(‘Widget_Comments_Recent’)->parse(‘{text}‘);
>至于有哪些字段可用,请参考上文。

### Widget_Comments_Recent常用代码
**1.隐藏博主评论**
在侧栏的最近评论列表中显示博主的最近评论没太大必要,如果博主评论多了,反而会影响PV,甚至部分博主压根就不想在最新评论列表中显示自己的评论回复。见上文,使用`ignoreAuthor`参数即可达到隐藏博主评论的目的。具体方法很简单

找到模板文章中,一般是sidebar.php中,找到调用最近回复的代码:

widget(‘Widget_Comments_Recent’)->to($comments); ?>
改成:
widget(‘Widget_Comments_Recent’,’ignoreAuthor=true’)->to($comments); ?>

**2.使用快捷键Ctrl-D实现快速回复**
//TODO 待补全描述

**3.使用第三方社会化评论组件**
第三方评论组件,推荐的有多说、友言等。各个大侠自行摸索吧,一般官方网站上都会有手把手教程。

原创文章,作者:admin,如若转载,请注明出处:https://www.typechodev.com/theme/53.html

(0)
上一篇 2015-01-31 上午7:01
下一篇 2015-01-31 上午7:05

相关推荐

发表评论

您的电子邮箱地址不会被公开。