Home > Technology, WordPress > 评论添加:热情评论员

评论添加:热情评论员

给评论加个小小的功能.’热情评论员’.如果你经常到我这里留言,也许你已经发现这个小东西.算是提高用户体验的一种尝试.老朋友理应给予一定的奖励的不是吗?

有人以为我的这个功能是用hot friends实现的.其实不是.代码是自己学着写的.包括头部的欢迎词实现办法也是自己瞎折腾的.没有使用插件.

当然也许会带来Spam的增加,但是我的博客小.最近也没有时间东逛西逛.所以留言还是比较少.没有感觉.

我也不是写代码的.所以这个功能可能添加很多的数据库查询影响速度.虽然我没有感觉到.但是对速度等方面有很高要求的那可以不用了.wordpress本来的执行效率就不是很高.

以下是代码:

<?php
function yinheli_xing($comment_email,$limit_days=30,$limit_cm=5){
global $wpdb, $tablecomments;
$style= ‘ style’.“=”.‘”cursor:pointer;”‘;
$sql=$wpdb->get_results(
“SELECT comment_author_email,count( comment_author_email ) AS cmtcount
FROM $tablecomments
WHERE comment_approved =1
AND comment_type = ”
AND TO_DAYS( now( ) )-TO_DAYS(`comment_date`)<$limit_days
GROUP BY comment_author_email
ORDER BY cmtcount DESC
LIMIT 0 ,2000″
);
foreach ($sql as $mycomment){
$mail=$mycomment->comment_author_email;
if($mail==$comment_email && $mail!==get_the_author_email())
$getnub=$mycomment->cmtcount;
}
if($getnub>=$limit_cm){
$output =“热情评论员”;
$output .=‘<img src=’.‘”‘.get_bloginfo(‘template_url’).‘/img/xin.gif” alt=”该同学’.$limit_days.‘天内在我这里评论了’.$getnub.‘次,获得星星奖励&#10;&#10;规则: ‘.$limit_days.‘天内评论超过’.$limit_cm.‘次即可获得该奖励!&#10;” ‘.$style .‘/>’;
}
if($comment_email==get_the_author_email() && !is_user_logged_in())
echo ‘ ‘.‘<img src=’.‘”‘.get_bloginfo(‘template_url’).‘/img/admin.gif” alt=”博主的回复”‘.$style .‘/>’;
echo $output;
}
?>

调用办法:
在评论模板相应的地方加上

<? if ($comment->comment_approved !== ’0′) yinheli_xing(get_comment_author_email(),30,5);?>

关于数据库的查询我不知道怎么控制.所以用了比较大的数字2000.我想没有哪个会在30天内超过2000条评论的吧.反正我是永远也不会. :cool:

补充:图片.大家自己加上好了.

  1. Leeiio Feb 19th, 2009 @ 09:26 | #1

    大清早的就被我趕上沙發了,好玩意越來越多了嘛~

  2. yinheli Feb 19th, 2009 @ 16:22 | #2

    @Leeiio
    呵呵.这还早啊

  3. Leeiio Feb 19th, 2009 @ 17:54 | #3

    你终于对underone的主题下手了啊~并且你又用回jQuery了啊~啊~

  4. yinheli Feb 19th, 2009 @ 17:56 | #4

    @Leeiio
    哈哈…瞎玩玩.搞了好久通过验证. :mad:

  5. grubylee Feb 19th, 2009 @ 19:23 | #5

    嗯,这个功能很好额。。。

  6. 吖Bee Feb 19th, 2009 @ 20:11 | #6

    呵呵,换主题了啦~

    鼠标悬浮实现显示留言内容,为什么我那里会有一条白色的横线 :?:

  7. yinheli Feb 19th, 2009 @ 20:14 | #7

    @吖Bee
    可否截个图?

  8. 吖Bee Feb 19th, 2009 @ 20:54 | #8

    @yinheli
    特意前来说声谢谢! :smile:

  9. 吖Bee Feb 19th, 2009 @ 20:56 | #9

    貌似正在添加许多小功能~~~

  10. yinheli Feb 19th, 2009 @ 21:36 | #10

    @吖Bee
    不用客气.这个还是我最先从肖恩大师哪里偷来的.就顺便写成教程了.我以前也用iNove呀.今天才换.小功能都有写日志.感兴趣可以参考.

  11. kerby Feb 20th, 2009 @ 00:00 | #11

    热情评论员都有小星星吗?

  12. yinheli Feb 20th, 2009 @ 16:40 | #12

    @kerby
    是的.这个可以自己添加样式.我只是写成实现的方法

  13. 时尚通讯社 Feb 21st, 2009 @ 21:01 | #13

    看上去不错

  14. 老王 Feb 23rd, 2009 @ 11:11 | #14

    :grin: 今天才来~就发现你换了皮肤,并且贴出了”热情评论员”的代码!yinheli 真是个守信用的好同志! :smile: :roll:
    谢谢!!

  15. yinheli Feb 23rd, 2009 @ 13:00 | #15

    @老王
    老王不必客气.呵呵.wordpress的精神就是相互分享,相互帮助

  16. 老王 Mar 9th, 2009 @ 13:53 | #16

    成功!开始用这个版本,没有显示成功,后来和你theme里的文件对比了一下,发现sql里少选了两个column: comment_author 和 comment_author_url。加上以后就OK了!
    不过成功后,再把这两个去掉再试,结果还是成功显示的!呵呵,神奇啊~ :neutral:

  17. yinheli Mar 9th, 2009 @ 20:26 | #17

    @老王
    以前写这个的时候想多做些功能.但是发现有插件可以完成这个.就没有查那两个字段了.这个就是计算e_mail出现的次数.搞出来的.(因为mail设置了必填)

  18. 柴鸡不柴 Mar 10th, 2009 @ 12:42 | #18

    头部欢迎词可否分享一下

  19. yinheli Mar 10th, 2009 @ 13:37 | #19

    @柴鸡不柴
    下载我的主题.里面有全部的效果.你可以参考.

  20. 柴鸡不柴 Mar 10th, 2009 @ 22:04 | #20

    @yinheli 好的 谢谢

  21. vbvb Mar 20th, 2009 @ 22:37 | #21

    测试!可以删除

Submitting Comment, Give me a second...

Leave a comment

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks & Pingbacks ( 1 )
  1. Apr 1st, 2009 @ 12:51 | #1
    Pingback: 修正热情评论员 – yinheli’s blog