我想在wordpress中显示当前月份的特定类别的所有帖子。表示它只显示当前月份的此类别中的所有帖子,然后分页显示上个月和下个月。
问题更新 我试过这段代码。 这是按月显示的,但需要一种方法来显示当前月份,然后是下一个月的分页。
<?php
$blogtime = date('Y');
$prev_limit_year = $blogtime - 1;
$prev_month = '';
$prev_year = '';
$args = array(
'posts_per_page' => 20,
'ignore_sticky_posts' => 1,
'cat' => 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');
}
?>
答案 0 :(得分:0)
你需要像这样使用
current_year = date('Y');
$current_month = date('m');
query_posts( "cat=22&year=$current_year&monthnum=$current_month&order=ASC" );
如果您不需要使用$ query_string变量,则存在另一种更清晰易读的方法
$args = array(
'cat' => 22,
'year' => $current_year,
'monthnum' => $current_month,
'order' => 'ASC'
);
query_posts( $args );
也请查看此前。
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$today = getdate();
$args = array(
'category_name' => 'news',
'year' => $today['year'],
'monthnum' => $today['mon'],
'paged' => $paged
);
query_posts($args);
?>
详细信息请点击此链接 http://codex.wordpress.org/Template_Tags/query_posts#Time_Parameters
FOR PREV MONTH POST
$archive_month = date('m', strtotime('1 month ago') );
$archive_year = date('Y', strtotime('1 month ago') );
echo '<a href="' . get_month_link( $archive_year, $archive_month) . '">Last month\'s posts</a>';
按月发布 - 请遵循此 http://codex.wordpress.org/Function_Reference/get_month_link