WORDPRESS中用代码显示指定时间段中评论最多文章

有时候不希望太陈旧的内容一直显示在首页,就希望能够显示指定时间段内的。
在WORDPRESS中可以用以下代码显示指定时间段中(1个月之内)评论最多的文章:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<h4>热评文章</h4>
<?php 
$days = 30;
//你希望限定的时间,这里写30,就是最近30天以内,可根据需要修改
$today = date("Y-m-d H:i:s"); 
//抓取当下时间
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - ($days * 24 * 60 * 60));  
//30天前,即你限定的时间段的起始时刻
$result = $wpdb->get_results("SELECT comment_count,ID,post_title,post_date FROM $wpdb->posts where post_date between '$daysago' and '$today' ORDER BY comment_count DESC LIMIT 0 , 5"); 
//$daysago和$today这里一定要用单引号括起来,不然就无效了。如果希望显示固定时间内的,可以直接在这里写上日期,比如between '2008-01-01' and '2008-12-31',那么就会显示2008年间的。最后那个5,是指希望显示的文章数量,可以根据需要修改。
foreach ($result as $post) { 
setup_postdata($post);
$postid = $post->ID; 
$title = $post->post_title; 
$commentcount = $post->comment_count; 
if ($commentcount != 0) { ?> 
<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"><?php echo $title ?></a> - 评论数:<?php echo $commentcount ?></li>
<?php } } ?>

以上参考自:
如何显示2008年热评文章?

http://www.wprecipes.com/how-to-display-the-most-commented-posts-of-2008

如何显示本周热评文章?(注意:此文中MS代码有误,已在本文中修正)

http://www.wprecipes.com/rarst-asked-how-to-get-most-commented-posts-of-the-week





本文来源:随便翻翻
原文地址:http://anyff.com/2009/12/wordpress-hacks-most-commented-posts-in-given-time/

你可以留言,或者trackback 从你的网站

17 条评论

  1. 万戈 说道:

    是个好方法啊,学习学习

  2. 卢松松 说道:

    这个功能非常实用哈

    • 姐姐大人 说道:

      偶也觉得那个限定时间的语法应该好些地方都用得上的~

  3. 吴熠博客 说道:

    自创博客源码的,可以加上这段。

  4. 三七八蛋 说道:

    应该有类似的插件?

  5. Pray 说道:

    这个简单方便. :razz:

  6. 站长助 说道:

    呵呵,学习学习,可惜我的博客封了,所以

  7. 土狼妹妹 说道:

    用的是zb,慢慢来吧

  8. 先看看 说道:

    这个可以用插件实现

  9. 郑州SEO 说道:

    学习了谢谢 :cool:

Leave a Reply