【发布时间】:2015-06-10 13:16:11
【问题描述】:
我有我的循环,不幸的是,它只捕获当前月份之前的所有帖子。所以我最终得到了当月(2015 年 4 月)没有显示的帖子。
如何让循环也包含当前月份的帖子?
我的代码:
<?php function the_archive () {
global $wpdb;
$limit = 0;
$year_prev = null;
$months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month , YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now( ) and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
foreach($months as $month) :
$year_current = $month->year;
if ($year_current != $year_prev) {
if ($year_prev != null) {} ?>
<li class="archive-year">
<a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/">
<?php echo $month->year; ?>
</a>
</li>
<?php } ?>
<li class="archive-month">
<a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>/">
<?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>
</a>
</li>
<?php $year_prev = $year_current;
if(++$limit >= 18) { break; }
endforeach;
}
add_shortcode( 'show_archive' , 'the_archive' );
?>
上面输出了一个导航存档帖子的菜单 - 请参阅:http://imgur.com/C4WIiKR & http://codeandco.net/news/
所以我希望看到 APRIL 的菜单项,但我没有。
有什么想法吗?
(提前感谢 :-)
【问题讨论】:
标签: php wordpress for-loop foreach