WordPress 代码实现最新评论自动排第一功能

前段时间有小伙伴问九哥怎么实现最新评论自动排第一功能,今天九哥就分享给大家。教程转自博客导航

我们做独立博客的,一般都会有一个最新点入功能,大部分都是根据来访者的 IP,自动把最新访客的博客排在第一位。而博客导航使用的最新访客却不是根据来访 IP 排行,而是根据最新评论/留言来自动排第一位。换句话就是说只要来访者在本站评论/留言,该访客的博客就会自动排在第一位。

效果预览

实现的方法也比较简单,其实就是通过 SQL 查询语句,查出最新评论的访客昵称及网址,然后去掉重复的记录即可。

具体代码操作步骤如下:

1、把以下代码放入到所用主题的 functions.php 最后一个 %> 前

  1. //最新评论排第一
  2. function Autofirst($af){
  3.     global $wpdb;
  4.     $queryaf="select comment_author, comment_author_url, comment_date from $wpdb->comments where comment_ID in (select max(comment_ID) from $wpdb->comments where comment_approved='1' and comment_author_url !='' and user_id='0'  GROUP BY comment_author_email)  ORDER BY comment_date DESC LIMIT $af";
  5.     $wally = $wpdb->get_results($queryaf);
  6.     foreach ($wally as $commentaf){
  7.         $tmpy"<li><a target=\"_blank\" href=\"".$commentaf->comment_author_url."\">".$commentaf->comment_author."</a></li>";
  8.         $outputy .= $tmpy;
  9.     }
  10.     $outputy = "<ul>".$outputy."</ul>";
  11.     echo $outputy ;
  12. }

输出样式可以自定义,毕竟每个博客的样式都不一样,这个就要靠小伙伴们自己发挥了,只需要在以上代码中的 <ul> 中添加一个 class 属性即可。

2、把以下代码放入需要显示最新评论自动排第一的地方,如留言板。

  1. <?php Autofirst(20);?>

其中 20 表示显示 20 个最新访客,这个数值可以自定义,一定不能为空,要不然会出错,最起码要大于 0 以上。

此时,我们的 WordPress 博客已经能够实现最新评论自动排第一的功能了,赶紧试试吧。

PS:只要是 WordPress 博客的,都可以实现这个功能。
如果想显示其他类型的样式,我们只需要把第一步代码中的 $tmpy 修改一下即可,如可以改成显示头像的,改成友情链接的,也可以改成读者墙样式的,具体就靠大家发挥了。

版权声明:
作者:Mr Y
链接:https://www.99bsy.com/4188.html
来源:小算草
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>