代码之家  ›  专栏  ›  技术社区  ›  Gerrit

循环只包括x天以前的帖子

  •  0
  • Gerrit  · 技术社区  · 15 年前

    我只想在我的WordPress FrontPage上显示最近X天的帖子。比如说,一周,7天。

    告诉Wordpress只选择最近x天循环中的帖子的方法是什么?

    目前,我已经让它通过一个黑客程序工作,但它扰乱了分页。转到下一页不会选择正确的文章。

    //Hack found on the bottom of http://codex.wordpress.org/Template_Tags/query_posts
    function filter_where($where = '') {
        //posts in the last 7 days
        $where .= " AND post_date > '" . date('Y-m-d', strtotime('-7 days')) . "'";
    }
    add_filter('posts_where', 'filter_where');
    query_posts($query_string);
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    ... and the usual
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   David Carrington    15 年前

    您可以通过以下方式获得部分成功:

    function filter_where($where = '') {
      $date_split = date('Y-m-d', strtotime('-7 days'));
      if (is_paged()) {
        $where .= " AND post_date < '" . $date_split . "'";
      } else {
        $where .= " AND post_date > '" . $date_split . "'";
      }
      return $where;
    }
    add_filter('posts_where', 'filter_where');
    query_posts($query_string);
    

    “我的主页”显示过去7天内的文章,第/1页在这一天之后开始显示文章,第/2页按预期作为第/1页的续页。