我找到了一种使用此代码显示当年所有帖子的方法:
<?php
$today = getdate();
$lastyear = $today[ \'year\' ];
$args = array(
//\'nopaging\' => true,
\'paged\' => $paged,
\'category\' => 1,
\'posts_per_page\' => 36,
\'year\' => $lastyear,
);
query_posts( $args ); // The Query ?>
<div id="grid">
<?php while ( have_posts() ) : the_post(); // The Loop ?>
<?php get_template_part( \'article\', \'thumb\' ); ?>
<?php endwhile; ?>
</div>
<?php get_template_part( \'navigation\' ); ?>
<?php wp_reset_query(); // Reset Query ?>
然而,我真正想要的是展示从2年前到今天(2014年1月)的帖子,也就是2012年、2013年和2014年的帖子。我该怎么做?
非常感谢。
最合适的回答,由SO网友:Rob Vermeer 整理而成
<?php
$today = getdate();
$args = array(
//\'nopaging\' => true,
\'paged\' => $paged,
\'category\' => 1,
\'posts_per_page\' => 36,
\'date_query\' => array(
array(
\'after\' => $today[ \'month\' ] . \' 1st, \' . ($today[ \'year\' ] - 2)
)
)
);
$catgory_posts = new WP_Query( $args ); // The Query ?>
<div id="grid">
<?php if( $catgory_posts->have_posts() ) while ( $catgory_posts->have_posts() ) : $catgory_posts->the_post(); // The Loop ?>
<?php get_template_part( \'article\', \'thumb\' ); ?>
<?php endwhile; ?>
</div>
<?php get_template_part( \'navigation\' ); ?>
参见WordPress codex上的日期参数:
http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters