WordPress-Profis befassen sich früher oder später mit dem Loop – aus diesen beiden Gründen:
- Entwicklung eines eigenen WordPress-Themes
- Änderung der Darstellung von WordPress-Beiträgen in einem bestehenden Theme
Ich gehöre zur zweiten Gruppe. Ich modifiziere Themes, mir fehlt aber die Zeit für ein eigenes Projekt. So ein Theme will ja auch über Jahre mit Updates versorgt werden.
Inhalt
Der Loop-Workshop
Noch zwei Hinweise:
- Diesen Workshop werde ich schrittweise ergänzen, er ist also im Moment noch unvollständig.
- Verwende keine Produktiv-Version, wenn du den Code einer WordPress-Datei änderst, besonders nicht im Loop. Es besteht die Gefahr, dass du dir dein Theme zerschießt. 😉 Ein kleiner Fehler genügt, und dein WordPress zeigt eine weiße Seite.
Aber jetzt zur Sache: Was ist der Loop und welche Funktion hat er in WordPress?
Der WordPress-Loop
Loop heißt Schleife, und genau darum geht es auch in WordPress. WordPress-Beiträge (aber keine statischen Seiten) werden durch den Loop in gleicher Weise durchgeschleift und einheitlich angezeigt. Der Loop ist also besonders wichtig, wenn die WordPress nicht als CMS (Content-Management-System), sondern als klassischen Blog betreibst, also die Darstellung der Beiträge optimieren möchtest. Beispiele:
- Entweder steht bei jedem Beitrag ein Datum an einer ganz bestimmten Stelle, oder bei keinem.
- Entweder steht bei jedem Beitrag die Anzahl der Kommentare an einer bestimmten Stelle angezeigt, oder bei keinem.
- Entweder steht bei jedem Beitrag der Name des Autors an einer bestimmten Stelle, oder bei keinem.
Du kannst den Loop aber auch dazu verwenden, um die Auswahl der Beiträge (oder von Costum Post Types) zu steuern. Beispiele:
- Es werden nur Beiträge einer bestimmten Kategorie angezeigt.
- Es werden bestimmte Custom Post Types in den Loop übernommen, auch Seiten sind möglich.
Wo befindet sich der Loop?
Ein WordPress-Theme besteht aus ein bis zwei Dutzend Dateien, die wichtigsten heißen footer.php, functions.php, header.php, index.php, sidebar.php und style.css. Was du aber nicht findest, ist eine separate Datei mit Namen loop.php.
Der Loop ist also Teil einer, bzw. mehrerer Dateien. Je nach Theme ist er an verschiedenen Stellen integriert, und zwar vorzugsweise innnerhalb dieser Dateien:
- index.php
- single.php
- page.php
- archive.php
- 404.php
In jedem sauber programmiertem Theme ist der Loop ein Teil der Datei index.php. So will es nämlich das Gesetz, in WordPress heißt es WordPress Codex. Hier findest du die Vorgaben zum Loop. Besonders wichtig für den Einsatz des Plugins LoopBuddy sind diese beiden Stellen.
- Der Anfang des Loops:
- Das Ende des Loops:
Diese Info gibt der WordPress-Codex:
Der Loop an unterschiedlichen Stellen im Theme
index.php
Wo steckt nun dieser Loop? Klicke auf Design > Editor und öffne die Datei index.php. Im Bild oben siehst du, wie der Beginn des Loops im Theme Twenty Seventeen gekennzeichnet ist, nämlich durch den Kommentar /* Start the Loop */
.
single.php
Der Loop an mehreren Stellen in WordPress zuhause, und mit Sicherheit auch in der Datei single.php, die einen einzelnen Beitrag ausgibt. Im Bild unten siehst du zwei Kommentare, nämlich /* Start the Loop */
und // End of the Loop
. Die Datei single.php wird angezeigt, sobald ein User auf die Überschrift oder den Weiterlesen-Button eines Beitrags klickt.
archive.php
Auch in der Datei archive.php verbirgt sich ein Loop.
Das Loop-Ende
Das Ende des Loops erkennst du entweder an einem Kommentar, den der Autor des Themes hinterlassen hat, oder an dieser Codezeile: <?php endif; ?>
Anmerkung: Habe den im Kommentar zu diesem Beitrag beschriebenen Fehler ausgebügelt. 😉 Danke für den Hinweis.
Loop-Funktionen
Hier ein paar wichtige Loop-Funktionen:
the_title()
Anzeige des Beitrags-Titels
the_content()
Anzeige des Inhalts
the_author()
Anzeige des Autors
2 Antworten auf „WordPress-Workshop: Loop bearbeiten“
Hoffentlich liest das keiner:
——-
Das Loop-Ende
Das Ende des Loops erkennst du entweder an einem Kommentar, oder an der Anweisung endwhile;
——-
Das ist nämlich kompletter Schwachsinn.
Hallo, hab es ausgebessert.. kann man auch freundlicher sagen, aber trotzdem danke für die Info.