Nach Jahr sortierte Artikelliste einer Kategorie ausgeben

Dieser Text wurde am 5. Juli 2013 veröffentlicht und enthält möglicherweise veraltete Informationen.

page.php bzw. custompage.php

$archive_query = new WP_Query('category_name=KATEGORIENAME&posts_per_page=-1');
 ?>
 <?php if ($archive_query->have_posts()) : ?>
 <?php $oldyear = $postyear = get_the_time('Y', $post->ID); ?>
 <h4><?php echo $postyear; ?></h4>
 <ul class="archive-posts"><?php
 while ($archive_query->have_posts()) {
 $archive_query->the_post();
 $postyear = get_the_time('Y', $post->ID);
 if ($oldyear != $postyear) {
 $oldyear = $postyear; ?>
 </ul><h4><?php echo $postyear; ?></h4><ul>
 <?php
 } ?>
 <li><?php the_time('d. F'); ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li><?php
 }
 echo '</ul>';
 else :
 endif;
 wp_reset_query(); ?>
  • KATEGORIENAME durch Kategorie-Slug ersetzen
  • Ohne Beschränkung auf eine Kategorie mittels category_name= werden alle Beiträge ausgegeben

Ergebnis ist eine Liste in folgender Form

2013

  • 10. Oktober: Beitragstitel
  • 1. März: Beitragstitel

2012

  • 3. Juli: Beitragstitel
  • 20. Februar: Beitragstitel