我需要显示一年中所有月份的档案页面。无论一个月内是否有帖子发布,都必须显示所有12个月。像这样:
年份:1-2-3-4-5-6-7-8-9-10-11-12
当然,发布帖子的月份是链接。没有发布帖子的月份简直就是一个词
这是我的代码:
<ul>
<?php
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){ ?>
<?php } ?>
<li> <a class="year" href="<?php bloginfo(\'url\') ?>/<?php echo $month->year; ?>/">> <?php echo $month->year; ?></a>
<?php } ?>
<a class="month" 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("M", mktime(0, 0, 0, $month->month, 1, $month->year)) ?></a>
<?php $year_prev = $year_current; if(++$limit >= 10) { break; } endforeach; ?></li>
</ul>
我完成了我假装要做的事情,只是展示了12个月来的一切。