分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress获取某个时间段内发布的文章
  • WordPress获取某个时间段内发布的文章

  • 第一种代码
  • 第二种代码
  • 两种之间的差别
  • WordPress获取某个时间段内发布的文章-BanYuner

    这个功能方面来说,还是有点鸡肋的,但是有时候可能还真的是需要用到这个方法来展示一些文章,制作一些单独页面也是可以的。

    今天在逛贴吧的时候,看到一个吧友问,如何显示一段时间的内浏览数最多的,那么我就直接百度,结果吧友需要的没有百度到,倒是百度到了这个比较实用的文章。代码方面来自胖子马博客,感谢其提供的相关代码,那么我这里就直接敷上相关代码了:

    第一种代码

    <?php   
    //不要忘记更改下面的日期 ;-D   
    function filter_where($where = '') {   
    $where .= " AND post_date >= '2012-08-05' AND post_date <= '2012-09-07'";   
    return $where;   
    }   
    add_filter('posts_where', 'filter_where');   
    query_posts($query_string);   
    while (have_posts()) :   
    the_post();   
    the_content();   
    endwhile;   
    ?>
    

    这段代码来说的话,需要手动去修改时间,通过这里肯定会需要查询数据库,而且查询数量可能会有点多,大家可以衡量一下之后再决定是否适用。至于代码放在哪里,这个就看个人了,你可以创建一个页面之后放在页面内,同样可以放在你的主循环后面或者里面都是可以的,自由发挥吧。

    第二种代码

    这里继续提供第二种代码给大家:

    /* 某段时间内最热文章
    * Reference: http://www.wprecipes.com/rarst-asked-how-to-get-most-commented-posts-of-the-week
    * Edit: zwwooooo
    */
    function most_comm_posts($days=7, $nums=10) { //$days参数限制时间值,单位为‘天’,默认是7天;$nums是要显示文章数量
    global $wpdb;
    $today = date("Y-m-d H:i:s"); //获取今天日期时间
    $daysago = date( "Y-m-d H:i:s", strtotime($today) - ($days * 24 * 60 * 60) );  //Today - $days
    $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 , $nums");
    $output = '';
    if(empty($result)) {
    $output = '<li>None data.</li>';
    } else {
    foreach ($result as $topten) {
    $postid = $topten->ID;
    $title = $topten->post_title;
    $commentcount = $topten->comment_count;
    if ($commentcount != 0) {
    $output .= '<li><a href="'.get_permalink($postid).'" title="'.$title.'">'.$title.'</a> ('.$commentcount.')</li>';
    }
    }
    }
    echo $output;
    }
    

    上面这段代码直接放入functions.php中即可,同时通过以下代码进行调用:

    <h3>近期最热文章</h3>
    <ul>
    <?php if(function_exists('most_comm_posts')) most_comm_posts(30, 10); ?>
    </ul>
    

    两种之间的差别

    这一部分代码和第一部分代码不一样的位置在于:

    • 1.第一部分代码可以设定时间段,而第二部分是以当日为主
    • 2.第一部分是利用主循环展示出来,代码量少,而第二种考虑比较全面,如果没有文章的情况是怎么样的
    • 3.第一部分是直接将整个代码写入,而第二部分可以通过调用来实现。

    其实说白了,这个第二部分代码可能就是边栏小工具的代码,大家可以尝试一下,利用这个代码做一个小工具试试。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress获取某个时间段内发布的文章

    支付宝(点击图片切换)

    扫码,支持我

    WordPress获取某个时间段内发布的文章

    微信(点击图片切换)

    扫码,手机看

    WordPress获取某个时间段内发布的文章
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    WordPress获取某个时间段内发布的文章
    3 + 3 =