Themeentwicklung

Alternative Loops (Themeentwicklung Teil 8)

Manchmal ist es gewünscht, außerhalb des Standard Loops weitere Loops einzubauen, der unter bestimmten Bedingungen greift. Diese Bedingungen können beispielsweise mit Conditional tags oder ganz einfach aus der derzeitigen Position im Theme heraus entstehen.

Die Startseite wird laut Template Hierarchie in der Template Datei front-page.php realisiert. Diese könnte z.B. eine Kopie der page.php sein, wo ein weiteres tertiäres Template geladen wird, welches in der page.php nicht geladen wird. Dieses Beispiel würde sich auch anhand des Conditional tags is_front_page() realisieren lassen.

Der Alternative Loop wird mit einem sogenannten WP_Query realisiert. Das ganze funktioniert eigentlich genauso wie der Standard Loop. Außer das vorher noch ein Array erzeugt wird, wo die Daten des alternativen Loops gespeichert werden. Dann muss an allen Stellen wo etwas ausgegeben werden soll, noch der Bezeichner des alternativen Loops vorangestellt werden.

Im folgendem Beispiel sollen z.B. die letzten 5 Beiträge auf einer statischen Startseite angezeigt werden.

Achtung! Wird der alternative Loop mit benutzerdefinierten Beitragstypen benutzt, muss dieser leicht angepasst werden, da die Query Funktion posts_per_page nur den Standard Beitragstyp erfasst.

Der im Backend ausgelesene Wert Beiträge pro Seite funktioniert mit benutzerdefinierten Beitragstypen nicht, somit müssen die Variable $number_of_posts und die Variable $offset die mit diesem Werte rechnet, entfernt werden.

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

vier × fünf =