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

 2018年06月20日 08:21  419  8  打印本文  
达令家
前段时间有小伙伴问九哥怎么实现最新评论自动排第一功能,今天九哥就分享给大家。教程转自博客导航

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

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

实现的方法也比较简单,其实就是通过 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 修改一下即可,如可以改成显示头像的,改成友情链接的,也可以改成读者墙样式的,具体就靠大家发挥了。
weinxin
99八十一微信公众号
扫一扫关注99八十一微信公众号,打开微信简简单单即可查看99八十一所有内容,更快捷更方便。
九哥

吐槽一下

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前吐槽:8   其中:访客  4   博主  4

    • avatar 青山 来自天朝的朋友 搜狗浏览器 Windows 7 江西省萍乡市 电信 【小白】

      我加在知更鸟主题里,显示的是一竖竖的,是不是要对应的css

        • avatar 九哥 博主 来自天朝的朋友 QQ浏览器 Windows 7

          @青山 嗯,样式要自己调整。

        • avatar 涂红伟 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市天河区 电信 【小白】

          一直好奇boke112是如何实现这个功能,看到大神的教程原来是这样实现的,学习了。

          • avatar 闲鱼 来自天朝的朋友 谷歌浏览器 Windows 7 湖南省常德市 电信 【小白】

            点赞,这个功能蛮好的。之前也考虑过用,后来觉得不太适合我,一是放页面的话有缓存显示也不及时,二是首页没问题,也不想给访客一种评论就能置顶链接的意思,很容易造成不看文章只想评论的现象。评论自己审核卡得很严,审核也不及时,哈哈

              • avatar 九哥 博主 来自天朝的朋友 QQ浏览器  Android 8.0.0 STF-AL10 Build/HUAWEISTF-AL10

                @闲鱼 我全站评论链接都取消了,包括这个,为的就是防止垃圾评论,引流发广告的。认真评论,等级够了,链接会显示的。

                  • avatar 懿古今 来自天朝的朋友 谷歌浏览器 Windows 7 广西南宁市 电信 【进士】

                    @九哥 直接取消评论链接这个比较狠,用户想要点击回访都不行,个人认为还是建议保留评论者链接地址,不过可以设置1个月或3个月内无评论的就不显示评论链接。

                      • avatar 九哥 博主 来自天朝的朋友 QQ浏览器  Android 8.0.0 STF-AL10 Build/HUAWEISTF-AL10

                        @懿古今 也不是都取消了,只要评论等级到【书童】,还是会显示链接的。