这几天在专心做的我的wordpress主题,一至于没有更新网站。现在主题雏形已经出来了,在接下来的几天里,我会分享在主题制作方面的方法和技巧。

正如你看到的标题,没错,今天DDBug介绍的是如何用代码实现显示”最新评论”。或许你会说wordpress本身就已经自带了这个小工具了啊?你为什么还要用代码实现呢?这不是没事找事做吗?

恩,你说对了,我就是没事找事做。那个自带的“最近评论”小工具我正在使用,但是并不是我想要的效果。我想要的效果就是大家最常见的那种可以看到评论者说的内容,而不是自带的那种“某某某在某篇文章上的评论”。

实现方法

以显示最近的10条评论为例,以下是实现代码

<h2>最新评论</h2>
  <ul>
  <?php
   $comments = get_comments('number=10');
   foreach($comments as $comment) {
    echo '<li><a href="'.get_comment_link().'" title="在 '.get_the_title($comment->comment_post_ID).' 上的评论">'.get_comment_author().' : '.$comment->comment_content.'</a></li>';
   }
  ?>
  </ul>

当你点击评论的时候,会自动定位到该评论所在位置。你可以把以上代码写入sidebar.php的开始之处进行测试。

相关函数说明

这里主要用到了一个get_comments()函数,通过传递参数’number=10′来获取最新的10条评论列表,该列表以数组的形式保存在$comments变量中。你可以通过更改number=10的数字来决定显示的评论个数,比如number=15就显示最新的15条评论。

然后通过一个循环对$comments数据进行遍历,并把每一个评论对象保存在变量$comment中,这样我们就可以调用comment-template.php中的函数,像本例中用到的get_comment_link和get_comment_author,分别获取评论的链接地址和评论者名称。

题外话

本来我是想制作一个小工具提供出来的,但是想想这个小工具确实也太“小”了,就没有制作。准备以后把相关的功能都集中到一个插件中制作。

接下来一段时间的安排:

话说也快要过年了,春节的时候我肯定是要回老家的,中间会有一段时间不能更新网站,也没有时间去研究wordpress了。因此我打算年前这一段时间主要精力还是放在主题的制作和优化上。年后制作一个经过优化的插件,包括本文提到的“最近评论”,以及之前介绍过的“随机文章”、“相关文章”,还有以后的“浏览最多的文章”、“评论最多的文章”。至于优化到什么效果,大家就拭目以待吧。