wordpress分开统计主评论和子评论

大家好,几天没见,想我了没?
这两天实在没东西折腾,只好在评论上继续凿,就随便写个吧,不要让香火断在今天..
本次代码实现的效果为分别统计主评论(楼层数)和子评论(回复数),没有废话了,上代码吧.
(再废话一句吧:我知道网上有教程是分开统计访客评论和博主评论的,和本文不是一回事)
效果:

分开统计主评论和子评论

以下代码添加到functions.php

function separate_comment_count($id){
global $wpdb;
$outputn = "SELECT COUNT(comment_post_id) AS count FROM $wpdb->comments WHERE comment_approved = '1' AND comment_post_ID = $id AND comment_parent = '0'";
$parents = $wpdb->get_row($outputn);
return $parents->count;
}

下面这段代码放在原本展示评论数的代码后面,

<?php
$parents_count = separate_comment_count($post->ID);
$children_count = $post->comment_count - $parents_count;
echo ":堆了".$parents_count."层楼+";//如果想正常点,就换成echo "主评论:".$parents_count;
echo "有".$children_count."个推楼的";//如果想正常点,就换成echo "子评论:".$children_count;
?>

答疑:

-这代码还能耍出别的花样吗?

-有些同志在展示评论数时,会用到这样的函数<?php comments_popup_link( __( '抢沙发', 'xiaohudie' ) , __( '板凳还在', 'xiaohudie' ), __( '%条评论 ', 'xiaohudie' )); ?>(或者是<?php comments_number('抢沙发','抢板凳','%');?>),这些个函数作用就是将评论数转化,0→抢沙发,1→板凳还在.但是如果只有一个人评论,并且得到了回复,由于回复的评论也计算在总评论里,那其实板凳还在,但评论数里却不会再显示板凳还在了...这让后面准备抢板凳的人情何以堪?
所以我们可以通过将主评论和子评论分开计数,以实现准确的定位板凳和地板的状态(好吧,我知道我很无聊),我们可以根据上面介绍的代码来判断,如果$parents_count为1,则输出:板凳还在,为2则输出地板还在,这样比原生的wordpress评论计数准确多了.

53 Comments

Name *

E-mail *

Website

  1. Arch!tect

    好热闹~ 恩。。。我就吐槽一下“香火”这个词吧~

  2. ChoJemmy

    不分开就会显得评论多写。程序媛是生命不止,折腾不歇啊。

    • 小蝴蝶

      @ChoJemmy : 不折腾就没东西写咯 没办法 :sad:

  3. Android

    圖!片!掛!了!禁!止!外!鏈!了!趕!緊!修!復!吧
    好累…. :arrow:

  4. 方露宇

    准备把我的原版主题改一下。。。

  5. kn007

    增加了查询量。。