我需要显示所有有活动帖子的月份,在每个月内,我需要显示至少5个与每个月相关的帖子。。HTML将如下所示:
新闻项目
<h6>May</h6>
<ul>
<li><a href="#">Souvlaki ignitus carborundum</a></li>
<li><a href="#">Defacto lingo est igpay atinlay</a></li>
<li><a href="#">Quote meon an estimate</a></li>
<li><a href="#">Souvlaki ignitus carborundum</a></li>
<li><a href="#">Defacto lingo est igpay atinlay</a></li>
<li><a href="#">Quote meon an estimate</a></li>
</ul>
<h6>April:</h6>
<ul>
<li><a href="#">Sic tempus fugit esperanto hiccup</a></li>
<li><a href="#">Epsum factorial non deposit</a></li>
</ul>
我不知道该怎么做,或者使用什么函数。。如有任何帮助/指示,将不胜感激。
最合适的回答,由SO网友:Michael 整理而成
一种可能性是通过循环运行所有帖子,并且每个新月份只输出一次该月:
<?php
$counter = 0;
$ref_month = \'\';
$monthly = new WP_Query(array(\'posts_per_page\' => -1));
if( $monthly->have_posts() ) : while( $monthly->have_posts() ) : $monthly->the_post();
if( get_the_date(\'mY\') != $ref_month ) {
if( $ref_month ) echo "\\n".\'</ul>\';
echo "\\n".\'<h6>\'.get_the_date(\'F\').\'</h6>\';
echo "\\n".\'<ul>\';
$ref_month = get_the_date(\'mY\');
$counter = 0;
}
if( $counter++ < 5 ) echo "\\n".\' <li><a href=\'.get_permalink($post->ID).\'>\'.get_the_title($post->ID).\'</a></li>\';
endwhile;
echo "\\n".\'</ul>\';
endif;
?>