如何使用query_posts过滤特定年份的帖子?

时间:2017-07-21 15:24:51

标签: php wordpress

如何使用Wordpress中的query_posts函数过滤特定年份的帖子?

这是我目前的代码:

<?php query_posts('cat=3&posts_per_page=10');
if ( have_posts() ) : while ( have_posts() ) : the_post(); 
?>
<a href="<?php the_permalink(); ?>">
    <div class="testpost">
        <?php the_post_thumbnail(); ?>
        <h4><?php the_title(); ?></h4>
        <hr class="smallblue">
        <h5><?php the_time(); ?></h5>
        <h6><?php echo get_the_date(); ?></h6>
    </div>
</a>
<?php 
   endwhile; endif; >
   wp_reset_query(); 
?>

2 个答案:

答案 0 :(得分:1)

<?php query_posts('cat=3&posts_per_page=10&year=2004'); ?>

将年份传递给查询

答案 1 :(得分:1)

您可以使用WP_Query的{​​{3}}参数,其优点是更具可读性:

$args = array(
    'cat'               => 3,
    'posts_per_page'    => 10,
    'date_query' => array(
        array(
            'year'  => 2017,
        ),
    ),
);

$myQuery = new WP_Query($args);

// Or $myQuery = get_posts($args);

if ($myQuery->have_posts()) : 

    while ($myQuery->have_posts()) : $myQuery->the_post();

        //  Output

    enwhile;
endif;

但请:date_query。它应该只被核心使用。使用许多其他函数之一,如WP_Queryget_posts,其中可以安全地使用相同的参数数组。