我有一个时间线帖子页面。 我想通过发布年份将其分开。 例如:
2014
post 1
post 2
post 3
2013
post 1
post 2
post 3
现在发布循环没问题。但是我希望在每年的第一行后循环中添加年份。 我正在使用下面的代码。我该如何添加年份?
<?php $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;?>
<?php $media = new WP_Query(array(
'post_type' => 'post',
'category_name' => 'media',
'posts_per_page' => 50,
'paged' => $paged
));
?>
<?php if( $media->have_posts()) : while($media->have_posts()) : $media->the_post(); ?>
<span class="app_tl_time">2014</span>
<article class="app_tl_article">
<span class="app_tl_arrow"></span>
<div class="app_tl_title">
<a href="<?php echo get_permalink(); ?>">
<?php the_title(); ?>
</a>
</div>
</article>
<?php endwhile; ?>
<?php if ($media->max_num_pages > 1) { ?>
<nav class="prev-next-posts">
<div class="prev-posts-link">
<?php // display older posts link
echo get_next_posts_link( 'Prev', $media->max_num_pages );
?>
</div>
<div class="next-posts-link">
<?php echo get_previous_posts_link( 'Next' ); // display newer posts link ?>
</div>
</nav>
<?php } ?>
<?php else: ?>
<article>
<p><?php _e('Nothing.'); ?></p>
</article>
<?php endif; ?>
</div><!--app_timeline_grid-->
答案 0 :(得分:0)
WordPress有一个内置函数,名为wp_get_archives()。在你的情况下:
<?php wp_get_archives( array('type' => 'yearly') ); ?>
详细了解按年in the codex创建档案。
答案 1 :(得分:0)
答案 2 :(得分:0)
行。谢谢大家。
我找到了解决方案链接:http://alex.leonard.ie/2009/08/27/wordpress-grouping-posts-by-monthyear/
效果很好。
<?php
// Assign the year to a variable
$year = get_the_date('Y', '', '', FALSE);
// If your year hasn't been echoed earlier in the loop, echo it now
if ($year !== $year_check) {
echo "<span class='app_tl_time'>" . $year . "</span>";
}
// Now that your year has been printed, assign it to the $year_check variable
$year_check = $year;
?>
答案 3 :(得分:0)
试试这段代码,你可以得到结果
DispatchQueue.main.async