✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

WordPress-Theme-Tutorial für Anfänger – Teil 4: Der Post-Loop

66

In dieser Lektion des WordPress-Theme-Tutorials für Anfänger gehen wir detailliert auf die „Post-Schleife” in WordPress ein, was sie ist, wie sie aussieht, warum wir sie verwenden und wie wir auf Beiträge zugreifen. Anschließend werden wir uns an die Implementierung der Schleife in unserem Thema.

Die Postschleife

Wenn Sie mit PHP vertraut sind, erkennen Sie vielleicht, dass eine „Schleife” eine Technik ist, bei der jedes Element in einem Array oder Objekt mit for, foreachoder durchlaufen wird while. Die Schleife in WordPress funktioniert genau so. Aber wir werden die WordPress-eigenen Funktionen zum Schleifen verwenden, um einige zusätzliche Vorteile und Vereinfachungen zu erhalten.

Zu jedem Zeitpunkt hat WordPress die Beiträge bereits für Sie abgefragt – je nachdem, auf welcher Seite Sie sich gerade befinden. Wenn Sie sich auf einer Kategorieseite befinden, hat WordPress bereits alle Beiträge abgefragt, die dieser Kategorie zugeordnet sind, und wenn Sie sich auf einer einzelnen Beitragsseite befinden, hat WordPress diesen einen Beitrag bereits für Sie abgerufen.

Wenn wir auf die Beiträge zugreifen möchten, die WordPress in unseren Vorlagen abgefragt hat, fügen wir die Schleife hinzu. Innerhalb der Schleife haben wir Zugriff auf jeden Beitrag. Und für jeden Beitrag entscheiden wir, was wir zeigen oder tun.

Hinweis: Sogar in Einzelpost- oder Einzelseitenvorlagen fügen Sie eine Schleife hinzu, obwohl wir wissen, dass sie nur einen Post enthält! Die Schleife läuft einfach nur einmal.

Hier ist die WordPress-Schleife in ihrer ganzen Pracht:

while (have_posts()): the_post(); // Access to each post here endwhile;

Dieses Stück Code macht zwei Dinge. Der whileTeil (einschließlich des endwhile) ist der Schleifenteil, der sich wiederholt, solange noch Posts übrig sind. Der zweite Teil ist der the_post(), der einen vereinfachten und intuitiven Zugriff auf das Post-Objekt innerhalb der Schleife einrichtet. Wir werden später mehr darüber erfahren.

Es hat sich bewährt, die Schleife in einen ifCheck zu packen, der überprüft, ob es tatsächlich Posts gibt, die durchlaufen werden müssen. Dann können wir auch optional eine Nachricht anzeigen, wenn es keine gibt. Die Beitragsabfrage könnte leer sein, wenn Sie zu einem leeren Kategoriearchiv gehen oder versuchen, nach etwas zu suchen, das keine Treffer hat. Dies ist eine bessere Version der Schleife:

Machen Sie sich mit diesem Codeabschnitt vertraut, da Sie dies jedes Mal wiederholen werden, wenn Sie auf Beiträge zugreifen möchten! Lassen Sie uns die Schleife in unserem Thema implementieren.

Implementieren der Schleife in unserem Thema

Lassen Sie uns die Schleife in unsere index.phpeinfügen und den Dummy-Text ersetzen.

Ich habe eine Funktion hinzugefügt, die the_title()innerhalb der Schleife aufgerufen wird und den Beitragstitel wiedergibt. Dies ist nur so, dass wir die Schleife in der Praxis sehen können. Keine Sorge, wir werden im nächsten Schritt alles über den Zugriff auf alle eigentlichen Beitragsinformationen erfahren.

Mal sehen, was jetzt in WordPress passiert. Aktualisieren Sie die Startseite. Abhängig von Ihren Einstellungen und Inhalten sollten einige Titel angezeigt werden. In meinem WordPress habe ich den Standard-Post „Hello world!” und ein weiterer von mir erstellter Beitrag mit dem Titel „Dies ist ein weiterer Beitrag”. Das bekomme ich auf der Startseite:

WordPress-Theme-Tutorial für Anfänger – Teil 4: Der Post-Loop

Wenn Sie versuchen, eine einzelne Beitragsseite zu besuchen, sollten Sie nur einen Titel sehen, den Titel des angezeigten Beitrags. Nett!

Für die Neugierigen…

Wenn Sie neugierig sind, was die Schleife durchläuft und welche Parameter WordPress für diese Abfrage verwendet hat, können Sie es sich ansehen. Die globale Variable, auf die sich die Schleife bezieht, heißt $wp_query. Sie müssen es global definieren, um darauf zugreifen zu können. Versuchen Sie es mit var_dump(), um den gesamten Inhalt auszudrucken. Die Schleife durchläuft die $wp_query->postsEigenschaft.

global $wp_query; var_dump($wp_query);

Fügen wir unserer Schleife in ein wichtiges Detail hinzu index.php; eine Möglichkeit für den Benutzer, zur nächsten und vorherigen Seite von Beiträgen zu navigieren.

Post-Loop-Navigation hinzugefügt

Denken Sie daran, dass die Schleife die Anzahl der Beiträge abruft, die in Ihren WordPress-Einstellungen > Lesen definiert sind, wenn Sie sich auf einer Seite befinden, die mehrere Beiträge anzeigt. Wenn in der Schleife mehr Beiträge verfügbar sind als die hier definierte Anzahl, brauchen wir eine Möglichkeit, zwischen den Seiten zu navigieren. Dazu können wir die Funktion verwenden the_posts_pagination().

Diese Funktion akzeptiert einige Parameter, um ihre Ausgabe anzupassen. Sie können die Anzahl der Seiten zwischen den Ellipsen definieren (bei vielen Seiten). Sie können auch festlegen, wie die Texte für die Links „Zurück” und „Nächste” aussehen sollen. Ich werde es ohne Parameter hinzufügen, um die Standardeinstellungen zu übernehmen, aber Sie können es anpassen, wenn Sie möchten.

... while (have_posts()): the_post(); the_title(); endwhile; the_posts_pagination(); } else { ...

Diese Funktion gibt absolut nichts aus, wenn weniger oder gleich viele Beiträge als Anzahl der Beiträge pro Seite eingestellt sind. Machen Sie sich also keine Sorgen, wenn Sie denken, dass Sie etwas falsch gemacht haben, weil Sie keine Ausgabe sehen. Sobald es mehr Posts als Posts pro Seite gibt, gibt diese Funktion ein div, eine Überschrift für Screenreader (die Sie normalerweise mit CSS ausblenden) und eine Reihe von Paginierungslinks aus.

Jetzt, da wir wissen, wie wir Zugriff auf jeden Beitrag erhalten, den WordPress für uns gefunden hat, besteht der nächste Schritt darin, zu lernen, wie wir zeigen können, was wir von jedem Beitrag erwarten; innerhalb der Schleife.

Dokumentation der angewandten Methoden

Aufnahmequelle: awhitepixel.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen