Wordpress:向query_posts添加过滤器,仅显示“date”设置为今天或将来的帖子

时间:2013-03-22 22:06:08

标签: wordpress date filter publish

我正在使用此查询来显示我的帖子:

$today = getdate();
$year=$today["year"];
$month=$today["mon"];
$day=$today["mday"];

query_posts( $query_string.'order=ASC' . '&post.status=future,publish'.'&year='.$year.'&monthnum='.$month );
?>

现在我想添加一个过滤器,仅显示今天发布或将来发布的帖子。

示例:今天是3月22日。 PostA于3月1日发布,PostB已于今日发布,PostC将于3月24日发布(状态“未来”已在我的查询中,因此将显示)。 我的新查询过滤器应该只显示PostB和PostC。

提前多多感谢!

: - )

2 个答案:

答案 0 :(得分:0)

试试这个:

// Create a new filtering function that will add our where clause to the query
  function filter_where( $where = '' ) {
$today = date('Y-m-d');
  // posts for today and future
$where .= " AND post_date >= $today ";
return $where;
  }

  add_filter( 'posts_where', 'filter_where' );
  $query = new WP_Query( $query_string );
  remove_filter( 'posts_where', 'filter_where' );

答案 1 :(得分:0)

试试这个:

$archive_year  = get_the_time('Y'); $archive_month = get_the_time('m'); $archive_day   = get_the_time('d'); query_posts('year=' .$archive_year .'&monthnum=' .$archive_month .'&day=' .$archive_day);