You are here: Home » All Categories » » WordPress变态需求: 获取文章的评论人数

WordPress变态需求: 获取文章的评论人数

Apr 5th, 2012 17:34 | Leave a comment?(72) Go to comments

为什么我说是“变态需求”呢?因为折腾WP主题这么久,我从来没接触过/听说过有人需要获取文章的评论人数,对,评论人数!不是评论数,同一个人发1条、10条、100条评论也只能算1人。

既然没人需要或者很少人需要,那么就难于找到相关方法了,我也查看过WordPress相关函数,木有这类直接的输出或者简单就能获取“评论人数”的方法/函数。

肿么办?先偷懒,于是我问 qiqiboy,万戈有木有折腾过这类需求,有没有方法,得到答案是:没听说过也没折腾过……qiqibly说可以用SQL解决,但我不怎么会SQL啊……

好吧,我在问以前就想到一个比较蛋疼的方法,只是想偷懒没去测试……这下没办法了,只能自己YY折腾了。

经过一番测试,搞定,代码如下:扔到主题的 functions.php 文件里面
(牢骚 - 代码懒得高亮了,以后也想把所有代码高亮去掉,主要是我用的是直接html方法……)

/* 获取文章的评论人数 by zwwooooo | zww.me */
function zfunc_comments_users($postid=0,$which=0) {
	$comments = get_comments('status=approve&type=comment&post_id='.$postid); //获取文章的所有评论
	if ($comments) {
		$i=0; $j=0; $commentusers=array();
		foreach ($comments as $comment) {
			++$i;
			if ($i==1) { $commentusers[] = $comment->comment_author_email; ++$j; }
			if ( !in_array($comment->comment_author_email, $commentusers) ) {
				$commentusers[] = $comment->comment_author_email;
				++$j;
			}
		}
		$output = array($j,$i);
		$which = ($which == 0) ? 0 : 1;
		return $output[$which]; //返回评论人数
	}
	return 0; //没有评论返回0
}

调用方法

<?php echo zfunc_comments_users($postid); ?>

参数说明:$postid 是需要获取评论人数的文章ID

一般用法:在一般主题的loop里面可以这样用:

<?php echo zfunc_comments_users($post->ID); ?>

PS:还可以输出评论总数,用法:

<?php echo zfunc_comments_users($postid, 1); ?>

折腾玩(完)。

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/archives/25613

Filed under

| Tags:

, ,

Related Posts

Most Popular

72 Comments.

⊕Leave a comment?
  1. airoschou airoschou Google Chrome 18.0.1025.142Windows XP

    沙发了总算~
    评论人数以IP来计算的吗?

    沙发!软软很舒服!1
  2. 万戈 万戈 Google Chrome 17.0.963.79Windows 7

    大叔,你具有码农的天份,别浪费了,做程序猿去吧 :mrgreen:

    板凳!有点硬!2
    • zwwooooo zwwooooo Firefox 11.0Windows 7 x64 Edition

      @万戈
      好吧,我刚出来的确是二级程序猿,然后被环境影响“不务正业”打回原形。

  3. deef deef Firefox 10.0.2Windows 8

    我觉得还是看有高亮的比较舒服吧。。没有高亮的总觉得有点回到windows的记事板时代…

    地板!又硬又冷!3
    • zwwooooo zwwooooo Firefox 11.0Windows 7 x64 Edition

      @deef
      反正很少人直接在文章中读代码,好吧,我觉得烦,需要的自己copy到文本编辑器去

  4. 河石子 河石子 Google Chrome 18.0.1025.142Windows 7

    这个需求还真是头一次听说呢。 :grin: :grin:

    4楼
  5. 一堵墙 一堵墙 Google Chrome 19.0.1068.1Windows 7

    有插件吗 :oops:

    5楼
  6. 阳光与风 阳光与风 Firefox 11.0Windows XP

    这个强悍了,兄弟,你确实厉害,真该去做程序猿

    6楼
  7. WordPress获取文章的评论人数 | 阳光与风 - pingback on 2012/04/05/ 20:50
    7楼
  8. 小宇宙-ChalW 小宇宙-ChalW Firefox 10.0Windows 7

    嗯,学习了,真不错。

    8楼
  9. Normal Normal Firefox 11.0Windows 7

    果然是蛋疼的要求。。话说你的评论框怎么可以悬浮在页面啊。。好神奇。

    9楼
  10. schiy schiy Google Chrome 18.0.1025.142Windows 7

    这个需求真的很蛋疼,不过zww兄是真心厉害 :mrgreen:

    10楼
  11. 不能吧 不能吧 Opera 11.62Windows XP

    有个叫WP Mass Mailer的插件,能给博客历史上所有评论者群发邮件,里边应该有类似的功能~

    11楼
  12. coolcfan coolcfan Google Chrome 16.0.912.75GNU/Linux x64

    其实关于代码高亮,最舒服的办法就是给WP弄一个Stackoverflow那样的编辑器;或者干脆去玩Octopress……

    12楼
  13. 乱了感觉 乱了感觉 Google Chrome 18.0.1025.142Windows 7 x64 Edition

    没有必要这样,看我的实现方法吧,简单得多。
    http://messense.me/wp-comment-user-count.html

    13楼
  14. 周良 周良 Google Chrome 17.0.963.79Windows 7

    我承认这是个变态的东西

    14楼
  15. 仁心博客 仁心博客 360Safe ExplorerWindows XP

    你可真会做人啊

    15楼
  16. 灰狼 灰狼 TheWorld BrowserWindows XP

    围观大叔的代码

    16楼
  17. 咚门 咚门 Google Chrome 17.0.963.79Windows 7

    不算变态,这是个可以满足某些博主小闷骚心里的函数。

    17楼
  18. 臻 Maxthon 3.3.7.800Windows 7

    闷骚才需要的功能~

    18楼
  19. Dick_Wu Dick_Wu Google Chrome 19.0.1075.0Windows 7

    这样可以体现出一个真正牛X的博客。。
    还可以让我这种聊天一样评论的博客原形毕露。。。

    19楼
  20. Andrew Andrew CoolNovo 2.0.2.26Windows 7

    这也可以?不过还是简单些好

    20楼
  21. WP获取文章评论人数 - 乱了感觉 - pingback on 2012/04/07/ 11:23
    21楼
  22. 幸福每一天 幸福每一天 Google Chrome 18.0.1025.151Windows XP

    评论框悬浮在边栏,这个挺有趣的 :shock:

    22楼
  23. 郑永 郑永 Firefox 11.0Windows XP

    嗯,这个是个蛋疼的需求,以后只是屏蔽了 管理员的回复,总结其他评论数,现在是 不同的人只算一次,的确蛋疼。

    23楼
  24. 刘印博客 刘印博客 360Safe ExplorerWindows 7 x64 Edition

    是有够变态的,这么严格干么呢?

    24楼
  25. 集趣 集趣 Google Chrome 16.0.912.63Windows 7

    用sql,要实现这个效果,对我来说太难

    25楼
  26. 阿里旺旺 阿里旺旺 Google Chrome 19.0.1068.1Windows XP

    我觉得一点都不变态啊。很多人都需要

    26楼
  27. coach bags coach bags Internet Explorer 8.0Windows XP

    晕,我差点找不到地方回复。

    27楼
  28. coolcfan coolcfan Google Chrome 16.0.912.75GNU/Linux x64

    有个叫WP-Markdown的插件你可以看一下。。。那个纯模仿Stackoverflow的,评论区都可以贴代码。。。 :razz:

    28楼
  29. 平板电脑推荐 平板电脑推荐 Firefox 11.0Windows XP

    你看我回复

    29楼
  30. yesureadmin yesureadmin Google Chrome 17.0.963.66Windows 7

    看看这个评论框是怎么实现的。。。

    30楼

Leave a Reply


Trackbacks and Pingbacks:

Welcome! o(∩_∩)o
X