19. August 2010

WordPress: Dropdown-Menü für letzte Artikel

WordPress bietet von Haus aus die Möglichkeit, im Umfeld eines Artikels den vorherigen und nächsten Beitrag anzuzeigen. Zudem gibt es einige Plugins, die ein Brotkrümel-Navigation ermöglichen. Ein ganz anderer Ansatz bietet ein Dropdown-Menü, welches die letzten x Artikel bequem zur Auswahl anbietet. Hierbei kann festgelegt werden, ob nur Artikel aus der ersten Kategorie des Beitrags oder aus allen Kategorien des Blogs (bzw. CMS) aufgelistet werden sollen.

Nachfolgend das Snippet für die Anzeige der letzten 10 Artikel aus der 1. Kategorie des Artikels. Die Anzahl kann in Zeile 3 bequem abgeändert werden. Der Code wird gewöhnlich vor dem Loop des Artikels in der single.php eingefügt.

<!-- DROPDOWN MORE ENTRIES ONLY FROM FIRST CATEGORY-->
<?php global $post;
      $anzahl = '10'; // Anzahl der max. Einträge im Dropdown
      $category = get_the_category(); ?>
   <form id="dropdown" action="" >
   <select name="menu" onchange="javascript:parent.location = this.form.menu.options[this.form.menu.selectedIndex].value;">
   <option value="Die letzten <?php echo $anzahl; ?> News über &raquo; <?php echo $category[0]->name; ?>">Die letzten <?php echo $anzahl; ?> News über &raquo; <?php echo $category[0]->name; ?></option>
<?php query_posts('posts_per_page='. $anzahl .'&cat='. $category[0]->term_id); while (have_posts()) : the_post();  ?>
   <option value='<?php the_permalink(); ?>'><?php the_title(); ?></option>
<?php endwhile; ?>
   <option value="<?php echo get_category_link($category[0]->term_id);?>">Alle Nachrichten über &raquo; <?php echo $category[0]->name; ?></option>
   </select>
   </form>
<?php wp_reset_query(); ?>
<!-- DROPDOWN MORE ENTRIES ONLY FROM FIRST CATEGORY -->

Zu sehen ist das Dropdown-Menü derzeit in den Artikeln auf http://brasilienflug.net.