缘分-在合适的时候合适的地点碰到一个合适的人

获取近期的热心评论员并显示其链接

技术文档 5326浏览 0评论

会有一些热心的网友经常来小站逛一逛并留下点什么,为了表示感谢,想把他们加入友情链接吧,操作起来比较麻烦,要不定期地去添加、删除,比较简单的办法就是自动显示这些热心网友的链接信息。

根据读者墙的代码,我进行了一些改写,可以获取近期的热心评论网友,显示其链接,通过函数调用可以在任何地方显示,如本站的友情链接页面中的Most Active Friends。大概的思路就是获取近期在本站发表评论超过一定条数的网友的链接信息,在友情链接页面进行显示。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function getHotReviewer($totalcount=20,$expire=12,$basecount=10,$linkcatclass='boxcaption',$linclass='box linkcat clearfix')
{
    global $wpdb;
    $output='';
    $query="SELECT COUNT(comment_ID) AS cnt, comment_author, comment_author_url,comment_author_email FROM (SELECT * FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->posts.ID=$wpdb->comments.comment_post_ID) WHERE comment_date > date_sub( NOW(), INTERVAL $expire MONTH ) AND user_id='0' AND comment_author_email != 'zhuquan168@gmail.com' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt  GROUP BY comment_author_email  having cnt>$basecount ORDER BY cnt DESC LIMIT $totalcount";
 
    $reviewer = $wpdb->get_results($query);
    foreach ($reviewer as $comment) 
    {
		  if( $comment->comment_author_url ) 
			  $commentauthorurl = $comment->comment_author_url;
		  else $commentauthorurl="http:///";
 
		  if( $comment->comment_author ) 
			  $commentauthor = $comment->comment_author;
		  else $commentauthor="未知网友";		
 
		  $tmp = "<li title='".$commentauthor." (近".$expire.'个月内共发表了'.$comment->cnt."次重要讲话)'><a href='".$commentauthorurl."' rel='external'>".$commentauthor."</a></li>";		
		  $output .= $tmp; 
     }
    $output = "<div class='".$linkcatclass."'><h3>Most Active Friends</h3></div><div class='".$linclass."'><ul>".$output."</ul></div>";
    echo $output ;
}

然后通过函数进行调用:

getHotReviewer();

其中:
$totalcount为显示的总数,默认为20条;
$expire为显示多长时间内的信息,默认为12个月
$basecount=10为阈值,评论数超过此值的才显示,默认为10条
$linkcatclass,$linclass分别为评论分类和评论的class。

转载请注明:自由的风 » 获取近期的热心评论员并显示其链接

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 哈哈 博主真厉害..代码收藏了.
    前来学习.
    看到我榜上有名啊.(*^__^*) 嘻嘻

    iSayme2011-06-23 21:37 回复
  2. 感觉还是弄个读者墙比较好看.嘿嘿

    iSayme2011-07-11 11:52 回复
    • 因为我这的评论比较少,加个友情链接显得更隆重,窃以为。呵呵。

      自由的风2011-07-11 15:56 回复