如何逐月展示帖子?

时间:2011-07-09 作者:Kyle Hotchkiss

如何使用wp查询逐月显示帖子,并且只显示过去的一年?或者有没有可能有一些wp\\U归档黑客可以处理这个问题?

3 个回复
SO网友:A\'laa Nassar

WordPress 3.7引入了date_query 要按月显示帖子,请执行以下操作:

$args = array(
    \'date_query\' => array(
        array(
            \'month\' => $month
        )
    )
);
$query = new WP_Query( $args );
Note : $月指月数(1-12)

SO网友:Wyck

这不是黑客,这是一个函数。您可以简单地使用wp_get_archives

http://codex.wordpress.org/Function_Reference/wp_get_archives

或者,您可以使用wp_query 例如,使用实际内容的时间格式,

//December
$query = new WP_Query( \'monthnum=12\' );

http://codex.wordpress.org/Class_Reference/WP_Query#Time_Parameters

SO网友:Andres Yanez

试试这个,我应该澄清一下,代码是基于我看到的一个片段。

    <?php

$blogtime = date(\'Y\');
$prev_limit_year = $blogtime - 1;
$prev_month = \'\';
$prev_year = \'\';

$args = array(
         \'posts_per_page\' => 20,
         \'ignore_sticky_posts\' => 1
);

$postsbymonth = new WP_Query($args);

while($postsbymonth->have_posts()) {

    $postsbymonth->the_post();

    if(get_the_time(\'F\') != $prev_month || get_the_time(\'Y\') != $prev_year && get_the_time(\'Y\') == $prev_limit_year) {

                   echo "<h2>".get_the_time(\'F, Y\')."</h2>\\n\\n";

        }

    ?>

        <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>

                <?php // your other template tags ?>


    <?php

    $prev_month = get_the_time(\'F\');
    $prev_year = get_the_time(\'Y\');

}

        ?>

结束

相关推荐