書き出されるhtml
こんな感じで出力できたらいいと思いました。
<div> <h4>2015年</h4> <ul>
<li><a href="#">6月(2)</a></li> <li><a href="#">5月(6)</a></li> <li><a href="#">4月(12)</a></li> <li><a href="#">3月(2)</a></li> <li><a href="#">2月(8)</a></li> <li><a href="#">1月(2)</a></li> </ul></div><div> <h4>2014年</h4> <ul> <li><a href="#">12月(12)</a></li> <li><a href="#">11月(6)</a></li> <li><a href="#">10月(9)</a></li> <li><a href="#">9月(88)</a></li> <li><a href="#">8月(6)</a></li> </ul></div>WordPressコード
表示したい場所に下記のように記述します。
<?php$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){?> </ul></div> <?php } ?><div><h4><?php echo $month->year; ?>年</h4><ul> <?php } ?> <li> <a href="<?php bloginfo('url') ?>/date/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"> <?php echo date("n", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>月 (<?php echo $month->post_count; ?>) </a> </li> <?php $year_prev = $year_current; endforeach; ?></ul></div>


