BinLayer.de

WordPress: Liste von Beiträgen mit identischen Tags (Stichwörtern) in Templates oder Artikeln

Stand: 16. Juli 2009 | Kategorie: BrasilOnline Newsblog
 

Das CMS WordPress bietet bereits eine Vielzahl von Möglichkeiten, ohne gleich auf ein Plugin zurückgreifen zu müssen. Dabei kann der Anwender dann oft viel genauer die Ausgabe steuern, ohne das Plugin evtl. verändern zu müssen (was bei einen Update selbigens dann zu wiederholen ist).

Nachfolgend stelle ich einmal den Codeschnipsel vor, der eine Liste mit Beiträgen ausgibt, die alle ein identisches Stichwort (Tag) enthalten. Dieser Code kann entweder in ein Template (single.php, page.php) eingebaut werden oder jedoch auch direkt in einem Artikel. Dann ist allerdings doch noch ein Plugin notwendig, welches dort das Ausführen von PHP-Code erlaubt, z.B. Exec-PHP.

<ul>
<?php query_posts("tag=wordpress&showposts=-1"); while (have_posts()) : the_post();  ?>
<li class="tagarticles">
<h4><a href="<?php the_permalink() ?>" rel="bookmark"
title="Permanenter Link zu <?php the_title(); ?>"><?php the_title(); ?></a></h4>
<?php the_excerpt(); ?>
</li>
<?php endwhile; wp_reset_query();  ?>
</ul>

Wir verwenden den Template-Tag “query_posts”, der die Artikel in der Datenbank nach entsprechend angegebenen Parametern durchsucht und sie dann ausgibt.

"tag=wordpress&showposts=-1"

Wir haben nur zwei Parameter angegeben: Zum einen sollen bei tag nur Artikel ausgegeben werden, die mit dem Stichwort “wordpress” getaggt wurden. Zudem gibt die Zahl bei showposts die Anzahl an, -1 bedeutet Alle, ansonsten gibt man eben 5, 10 oder 20 an. Viele weitere mögliche Parameter/Variablen auch für zeitliche Begrenzungen findet man im WordPress Codex.

Die Ausgabe erfolgt als Liste, die via CSS-Klasse “tagarticels” formatiert werden kann. Zunächst kommt bei jedem Listenpunkt die Überschrift in h4, danach der Auszug des Artikels. Dieser kann natürlich wegelassen werden oder es kann sogar der gesamte Text angezeigt werden. Wie immer bei WordPress können viele weitere Variablen zum Einsatz kommen, der Kreativität sind fast keine Grenzen gesetzt. Nach Ausgabe aller Listenpunkte werden am Ende die Querys zurückgesetzt, damit es bei weiteren Listen auf den Seite zu keinen Problemen kommt. Und ganz zum Schluss wird die Liste ordnungsgemäss geschlossen.

Der Code ist in dieser Form in Templates als auch in Artikeln xhtml-valide, allerdings haut der integrierte Wordress-Editor den Auszug zum Beispiel in p-tags. Daher ist dann von einem div- und erst recht von einem span-container Abstand zu nehmen, man sollte es auf jeden Fall über die Listen-Items formatieren.

Beispiel für die CSS-Formatierung des Excerpt/Content innerhalb eines Artikels:

li.tagarticles p {
       font-size: 0.9em;
       margin: 0;
       padding: 0;
       line-height: 110%;
        }

Wie so etwas dann in der Praxis aussieht, kann man im brasilien Magazin sehen. Dort wollte ich alle Artikel zu einem Thema abbilden und verwende dafür normalerweise ein Feed-Import-Plugin. Doch dieses gibt leider nur soviele Artikel aus, wie im globalen Adminbereich von WordPress festgelegt wurden (bei mir sind es derzeit 20). Und im vorliegendenen Fall der Flugzeugkatastrophe AF 447 waren es jedoch mehr Artikel, so dass die letzten (ältesten) nicht mehr auf der Übersichtsseite abgebildet wurden. Und die Feedartikel wollte ich deswegen nicht heraufsetzen.

Der Code-Schnipsel mit der Stichwort-Variante kann also dort eingesetzt werden, wo auf einer Seite eine Liste mit Beiträgen aus verschiedenen Kategorien angezeigt werden soll, z.B. in einer Rubrik “mehr zum Thema”. Oder in einer Serie von Artikeln, für die man jedoch keine eigene Kategorie schaffen will und die über eine Startseite oder einen Präsentations-Artikel verfügt. Auch hier darf jeder seiner Kreativität freien Lauf lassen.

 

Hinterlasse einen Kommentar