WordPress 读者墙

<ul class="ffox_most_active">
     <?php
     $limit_num = '16';
     $noneurl = get_bloginfo ('url');
     $my_email = "'" . get_bloginfo ('admin_email') . "'";
     $counts = $wpdb->get_results("
         SELECT COUNT(comment_author) 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( '2010-09-01 00:00:00', INTERVAL 43664 MINUTE )
         AND user_id='0'
         AND comment_author != $my_email
         AND post_password=''
         AND comment_approved='1'
         AND comment_type='') AS tempcmt    GROUP BY comment_author_email
         ORDER BY cnt DESC LIMIT $limit_num
     ");
     foreach ($counts as $count) {
       $c_url = $count->comment_author_url;
       if ($c_url == '') $c_url = $noneurl;
       $mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)">'.get_avatar($count->comment_author_email,$size='40').'</a></li>';
     }
     echo $mostactive;
     ?>
 </ul>

说明:核心部分就是代码中橙色部分代码,2010-09-01 00:00:00 是结束时间,43664 MINUTE 是指统计范围为 2010.9.1 0:00 前30天过7小时44分内,其实就是 2010.8.1 16:16 ~2010.8.31 24:00这个时段啦。

一些例子:

1. 2010.8.18~2010.8.20内的读者墙:date_sub( '2010-08-20 00:00:00', INTERVAL 3 DAY)

2. 最近一周内:date_sub(NOW(), INTERVAL 1 WEEK)

……

====================================

附:SQL 的 date_sub() 函数

DATE_SUB() 函数从日期减去指定的时间间隔。

语法

DATE_SUB(date,INTERVAL expr type)

date 参数是合法的日期表达式;expr 参数是您希望添加的时间间隔。

Type 值

MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

via:http://zww.me/archives/25228

<li id="Most Active Friends">
<ul class="ffox_most_active">
<?php
$counts = $wpdb->get_results("SELECT COUNT(comment_author) 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 1 MONTH ) AND user_id='0' AND comment_author != 'Dianso' AND comment_author_url != '' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author ORDER BY cnt DESC LIMIT 12");
foreach ($counts as $count) {
$c_url = $count->comment_author_url;
if ($c_url == '') $c_url = '';
$mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)">' . get_avatar($count->comment_author_email, 40) . '</a></li>';
}
echo $mostactive;
?>
</ul>
</li>
#sidebar .ffox_most_active{overflow:hidden;height:65px;}
#sidebar ul.ffox_most_active li{padding-left:0;}
#sidebar .ffox_most_active li{list-style:none;float:left;line-height:0;border:none;}
#sidebar .ffox_most_active img.avatar{width:26px;height:26px;border:1px solid #ddd;padding:2px;margin:0 1px 0 0;}

{ 发表评论? }

  1. 猫理会会长

    不错,拿来用用 :cool:

  2. 老时

    :cool: :cool:

  3. 泰溪

    :grin: :???: 很详细哦!

发表评论

电子邮件地址不会被公开。

 smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles smiles

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

无觅相关文章插件,快速提升流量