Der WordPress Loop erklärt

Der WordPress Loop erklärt

In diesem Beitrag erkläre ich, was „der Loop“ in WordPress ist!

Laut dem WordPress Codex ist der Loop „PHP Code der von WordPress benutzt wird, um Posts (Beiträge) anzuzeigen“.

Grundlogik des WordPress Loops

Der Loop startet mit Code welcher schaut, ob die aktuelle Seite mehrere Artikel eines Blogs, bestimmte Artikel (z.B. abhängig von der Kategorie) oder einzelne Artikel (z.B. in der Datei single.php) anzeigen soll. Welcher Inhalt wirklich angezeigt wird kann jederzeit mittels des Themes angepasst werden.

Wenn es nichts anzuzeigen gibt, gibt es die Option einen Hinweis dazu auszugeben.

Einfache Beispiele für den Loop

Hier ein einfaches Beispiel, wie man eine Liste von Blogeinträgen anzeigen kann:

In Zeile 1, 7 und 11 wird abgefragt ob es den Blogeinträge gibt oder nicht. Die Zeilen 3 bis 5 geben dann den eigentlichen Inhalt aus: den Titel, das Beitragsbild sowie den Auszug.
Sollte es keinen Eintrag geben, wird in Zeile 9 ein Hinweis dazu ausgegeben.

Das folgende Bild zeigt die Auflistung auf diesem Blog (der Code dazu ist etwas ausführlicher):

WordPress Loop

Hier listet der WordPress Loop auf der Startseite dieser Website alle bestehenden Beiträge auf.

Schauen wir uns nochmal die eigentliche Logik des Loops an:
Sie besteht in diesen Zeilen (1 bis 5). Weiters siehst du auch eine alternative PHP Syntax (9 bis 17):

Nun ein Beispiel, wie man einen einzelnen Beitrag (Single Post) oder eine Seite (Page) anzeigt:

Interessanterweise ändert sich im Vergleich zum ersten Beispiel nur, dass the_content(); anstatt the_post_thumbnail(); und the_excerpt(); in den Code kommt.
Der Grund, warum der selbe Loop für mehrere und einzelne Einträge funktioniert ist die while Anweisung
. Abhängig in welcher Template Datei (index.php, single.php, page.php,… ) der Loop eingesetzt wird, ermittelt die while Anweisung wie oft sie durch den Code geht.

Als Beispiele:

  • index.php – ist z.B. die Startseite eines Blogs. D.h., hier werden so viele Blogeinträge aufgelistet, wie unter Einstellungen > Lesen > Blogseiten zeigen maximal angegeben wird.
  • single.php – zeigt einen einzelnen Beitrag. D.h. hier wird der Loop nur einmal greifen.
  • page.php – zeigt eine einfache Seite. Auch hier wird der Loop nur einmal greifen.

Anzeigen verschiedener Inhalte im Loop

Innerhalb des Loops lassen sich verschiedenste Inhalte anzeigen. Hier eine Auflistung einiger Funktionen:

  • the_title() – gibt den Titel des Beitrages oder der Seite aus
  • the_content() – gibt den Hauptinhalt des Beitrages oder der Seite aus
  • the_excerpt() – gibt den Auszug des Beitrages oder der Seite aus
  • the_ID() – gibt die ID des aktuellen Beitrages oder der Seite aus
  • the_author() – gibt den Author des Beitrages oder der Seite aus
  • next_post_link() – gibt einen Link zu einem Beitrag aus, der chronologisch nach dem aktuellen Beitrag veröffentlicht wurde
  • previous_post_link() – gibt einen Link zu einem Beitrag aus, der chronologisch vor dem aktuellen Beitrag veröffentlicht wurde

Weitere Funktionen findest du hier http://codex.wordpress.org/Template_Tags

Es lassen sich auch sogenannte Conditional Tags einbauen:

  • is_home() – Liefert true, wenn die aktuelle Seite die Startseite ist
  • is_admin() – Liefert true, wenn der aktuell eingeloggte User ein Admin ist
  • is_page() – Liefert true, wenn eine Seite angezeigt wird
  • is_single() – Liefert true, wenn ein einzelner Beitrag angezeigt wird
  • is_category() – Liefert true, wenn ein Beitrag oder eine Seite eine bestimmte Kategorie zugewiesen wurde. Z.B. is_category(‚Plugins‘)

Weitere Funktionen findest du hier http://codex.wordpress.org/Conditional_Tags

Resümee

Ohne den WordPress Loop kann man keine dynamischen WordPress Webseiten bauen. Im Grunde handelt es sich nur um ein paar Zeilen PHP Code!

In einem späteren Beitrag werde ich noch zeigen, wie man den Loop anpassen kann.

Wer hat noch weitere Tipps oder Tricks für das Arbeiten mit dem Loop?

  • Pingback: Ein WordPress-Theme mit strukturierten Daten ergänzen - Guru 2.0()