大家好,几天没见,想我了没? 这两天实在没东西折腾,只好在评论上继续凿,就随便写个吧,不要让香火断在今天.. 本次代码实现的效果为分别统计主评论(楼层数)和子评论(回复数),没有废话了,上代码吧. 效果: 以下代码添加到functions.php function separate_comment
大家好,几天没见,想我了没?
这两天实在没东西折腾,只好在评论上继续凿,就随便写个吧,不要让香火断在今天..
本次代码实现的效果为分别统计主评论(楼层数)和子评论(回复数),没有废话了,上代码吧.
效果:
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评论计数准确多了.
原文地址:wordpresswordpress分开统计主评论和子评论, 感谢原作者分享。