WordPress bietet viele Möglichkeiten veröffentlichte Artikel anzuzeigen und mit Abfragen auch nach allen erdenklichen Möglichkeiten zu filtern. Aber vielleicht hätte der Ein oder Andere gerne eine Seite, auf der die Titel aller bisher veröffentlichen Artikel aufgelistet sind. Hier ein Lösungsvorschlag.

Erster Schritt: Template erstellen

Um eine solche Übersichtsliste erstellen zu können, müssen wir zunächst ein Template erstellen, welches wir später verwenden werden. Dazu wählt euch auf eurem Webserver mit einem FTP-Client ein und kopiert aus dem Theme-Verzeichnis die Datei ’single.php‘ und benennt die Kopie ‚allarticles.php‘. Öffnet die Datei nun mit einem Editor und fügt ganz am Anfang folgenden Code ein:

<?php
/*
Template Name: All Articles Page
*/
?>

Hiermit teilen wir WordPress mit, dass die Datei ‚allarticles.php‘ ein Template, also eine Vorlage, ist.

Zweiter Schritt: Datenfelder und Query in das Template einfügen

Die von uns kopierte Datei ’single.php‘ ist die Vorlagendatei für Artikel. Damit hieraus eine Übersichtsseite wird, müssen wir noch ein paar Veränderungen vornehmen. Entfernt den Inhalt, ab dem, was wir unter Punkt 1 eingetragen haben und kopiert folgenden Code in die Datei ‚allarticles.php‘ direkt darunter:

<?php get_header(); ?>
<h2>Alle veröffentlichten Artikel</h2>
<ul>
<?php query_posts('showposts=-1'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php $wp_query->is_home = false; ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>  <br />
veröffentlicht am <?php the_time('j. F Y') ?>  , <?php comments_number(__('Keine Kommentare'), __('1 Kommentar'), __('% Kommentare')); ?>
</li>
<?php endwhile; endif; ?>
</ul>
<?php get_footer(); ?>

Beachtet bitte, dass der Aufruf von <?php get_header(); ?> und <?php get_footer(); ?> themeabhängig ist. Kann also durchaus sein, dass dies in eurer ’single.php‘ fehlt. Dann ändert ihr den obigen Eintrag entsprechend und lasst die Befehle einfach weg.

Damit werden nun sämtliche veröffentlichte Artikel mit Titel als Liste ausgegeben. In einer zweiten Zeile wird das Veröffentlichungsdatum sowie die Anzahl der Kommentare ausgegeben. Dies lässt sich natürlich noch mit Abfragen auf bestimmte Kategorien oder auch Tags begrenzen.

Wenn beispielsweise nur die Kategorie ‚Beispiel‘ ausgegeben werden soll, wäre die Zeile

<?php query_posts('showposts=-1'); ?>

wie folgt zu ändern

 <?php query_posts('showposts=-1&category_name=Beispiel');?>

Sollen die Tags ‚Dies‘ und ‚Das‘ ausgegeben werden, lautet die Abfrage

 <?php query_posts('showposts=-1&tag=dies,das');?>

Die Referenz für php query_posts findet ihr hier.

Datei speichern nicht vergessen und zum letzten Schritt.

Dritter Schritt: Seite erstellen

Nun wollen wir die eigentliche Übersichts-Seite erstellen. Wählt dazu ‚Seite‘ – ‚Erstellen‘ und vergebt einen Titel. Als ‚Template‘ wählt ihr auf der rechten Seite unter ‚Attribute‘ die von euch erstellte Datei ‚All Articles Page‘.

Kommentare und Trackbacks deaktivieren nicht vergessen. Speichern und Fertig.

Viel Spass beim Ausprobieren.