typecho 页面中调用最新评论/留言/回复



  有时,博客都会在侧边栏或单页中加入“最新评论”或“最近回复”列表,提高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 样式可根据自己需要修改、增减。



 赏 
感谢您的支持,我会继续努力哒!
支付宝收款码
tips
  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • (。•ˇ‸ˇ•。)
  • 😂
  • 😀
  • 😅
  • 😊
  • 🙂
  • 🙃
  • 😌
  • 😍
  • 😘
  • 😜
  • 😝
  • 😏
  • 😒
  • 🙄
  • 😳
  • 😡
  • 😔
  • 😫
  • 😱
  • 😭
  • 💩
  • 👻
  • 🙌
  • 🖕
  • 👍
  • 👫
  • 👬
  • 👭
  • 🌚
  • 🌝
  • 🙈
  • 💊
  • 😶
  • 🙏
  • 🍦
  • 🍉
  • 😣
  • 颜文
  • Emoji
  • 虎牙
  • 阿鲁
(*) 2 + 8 =
共 5 条评论, 0 次评论点赞。快来参与吧!
    2023年01月25日 俄罗斯 发自Windows 7 回复 0

    Москва не сразу строилась.

    Я думаю, что это — заблуждение. Могу доказать. виды вареного кофе отличия, классический кофе и кофе какие бывают напитки

      2023年02月03日 湖北省黄石市 发自Windows 10 回复 0

      what?

    2022年05月11日 贵州省贵阳市 发自Windows 10 回复 0

    这个好~

      2022年05月11日 海南省三亚市 发自Android 回复 0

      哪里好?

        2022年05月16日 贵州省贵阳市 发自Windows 10 回复 0

        如果是两栏博客的话,可以选择放到右侧边栏,这样方便查看最新评论。
        使用场景还挺多的