Der Loop ist eine Schleifenkonstruktion in WordPress, welche die Inhalte von WordPress lädt. Der Loop muss in jede Template-Datei eingetragen werden, die den Loop auch abbilden soll.
Wie oft diese Schleife durchläuft, hängt davon ab, welche Einstellungen unter "Einstellungen >> Lesen" getroffen wurden. Welche Inhalte Der Loop anzeigt, hängt ebenso davon ab, wo man sich befindet.
- Bei eingestellter statischer Startseite zeigt der Loop nur den Inhalt dieser Seite.
- Bei der Einstellung "deine letzten Beiträge" zeigt der Loop entsprechend der Einstellung "Blogseiten zeigen maximal" die dort eingestellte Anzahl an Beiträge.
- Bei der Auflistung von Suchergebnissen läuft der Loop so oft, wie es Ergebnisse für die Suche gibt, welche aufgelistet werden können.
- In einer Kategorieseite zeigt der Loop alle Beiträge dieser Kategorie
- usw.
Der Start
Beispielsweise 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 eigentlichen 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 ausgeführt wird, wenn die nichts ausgegeben werden kann. Sprich die If-Anweisung nicht erfolgreich 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 eingesetzt werden um dynamischen Inhalt aus der Datenbank auszulesen. Für die Ausgabe der Inhalte der Loop sind die Template Tags der Kategorie "post tags" vorgesehen.
Post Class
verhält sich ähnlich wie body class, nur das hier Klassen auf Beitragsebene erzeugt werden. Diese wird üblicherweise im Start <article> Tag innerhalb der Loop eingefügt.
<?php post_class(); ?>
The Title
Der Beitragstitel. 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öffentlichungsdatum, 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 eigentliche Beitragsinhalt.
<?php the_content(); ?>
Mit editiertem "Read more" Link
<?php the_content('Weiterlesen'); ?>