Der Loop ist eine Schlei­fen­kon­struktion in WordPress, welche die Inhalte von WordPress lädt. Der Loop muss in jede Template-Datei einge­tragen werden, die den Loop auch abbilden soll.

Wie oft diese Schleife durch­läuft, hängt davon ab, welche Einstel­lungen unter "Einstel­lungen >> Lesen" getroffen wurden. Welche Inhalte Der Loop anzeigt, hängt ebenso davon ab, wo man sich befindet.

  • Bei einge­stellter stati­scher Start­seite zeigt der Loop nur den Inhalt dieser Seite.
  • Bei der Einstellung "deine letzten Beiträge" zeigt der Loop entspre­chend der Einstellung "Blogseiten zeigen maximal" die dort einge­stellte Anzahl an Beiträge.
  • Bei der Auflistung von Suchergeb­nissen läuft der Loop so oft, wie es Ergeb­nisse für die Suche gibt, welche aufge­listet werden können.
  • In einer Katego­rie­seite zeigt der Loop alle Beiträge dieser Kategorie
  • usw.

Der Start

Beispiels­weise solch ein Aufbau wäre denkbar.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <?php get_template_part('template_parts/content', get_post_format());?>
      <?php comments_template(); ?> 
<?php endwhile; else : ?>
      <?php get_template_part('template_parts/content'.'error');?>
<?php endif; ?>

Das Ende

Das Ende der Loop besteht eigentlich aus zwei Elementen. Einmal die Beendung der eigent­lichen Schleife. Zum anderen dem Ende der If-Anweisung.

<?php endwhile; else : ?>

Dieser Code beendet die While-Schleife des Loops und läutet die Else-Anweisung ein. Also den Teil der ausge­führt wird, wenn die nichts ausge­geben werden kann. Sprich die If-Anweisung nicht erfolg­reich war.

Nachdem die Ausgabe dessen erfolgt ist, wird noch die If-Anweisung des Loops beendet.

<?php endif; ?>

Innerhalb der Loop

innerhalb der Loop können Template Tags einge­setzt werden um dynami­schen Inhalt aus der Datenbank auszu­lesen. Für die Ausgabe der Inhalte der Loop sind die Template Tags der Kategorie "post tags" vorge­sehen.

Post Class

verhält sich ähnlich wie body class, nur das hier Klassen auf Beitrags­ebene erzeugt werden. Diese wird üblicher­weise im Start <article> Tag innerhalb der Loop eingefügt.

<?php post_class(); ?>

The Title

Der Beitrags­titel. Dieser wir innerhalb des <article></article> bevorzugt an oberster Stelle eingefügt. the_permalink ist der Template tag um das Linkziel in den Beitrag zu setzen und the_title gibt den Titel aus

<h2><a href="<?php the_permalink();?>"><?php the_title();?></a></h2>

Metadaten

Metadaten des Beitrages wären z.B. der Autor, das Veröf­fent­li­chungs­datum, die Kategorie etc. Diese Template tags finden sich allesamt im Codex. Anbei noch ein Beispiel:

<p>Veröffentlich von <?php the_author(); ?> am <?php the_time('d.m.y');?>.</p>

The Content

Der eigent­liche Beitrags­inhalt.

<?php the_content(); ?>

Mit editiertem "Read more" Link

<?php the_content('Weiterlesen'); ?>