Wenn du ein WordPress-Template erstellen oder ein vorhandenes Template bearbeiten möchtest, dann ist es wichtig, die WordPress-Template-Hierarchie zu verstehen. Die Hierarchie gibt dem Theme eine Struktur und legt fest, in welcher Reihenfolge die Template-Dateien aufgerufen werden.
Durch einen Blick auf die Ordnerstruktur eines Themes wird bereits eine gewisse Ordnung sichtbar.
Screenshot vom WordPress-Theme twentytwenty
Die primären Templates befinden sich in dem Hauptordner des Themes (in diesem Beispiel: twentytwenty) und die restlichen Templates sind in Unterordnern (template-parts, templates). Templates sind einzelne Dateien, mit deren Hilfe ein in sich abgeschlossener Bereich der Webseite gesteuert wird. WordPress ist ein dynamisches System, denn die Template-Dateien sind modular und können auf mehreren Seiten benutzt werden. Sie können auch Teilbereiche gemeinsam haben, wie Header oder Footer. Diese haben ebenfalls ein eigenes Template.
Die 7 Hauptkategorien von Templates
Es gibt viele verschiedene Typen von Seiten und jede von Ihnen hat eine eigene Hierarchie in der WordPresss nach dem passenden Template sucht.
Die wichtigsten Kategorien sind:
- Front Page
- Single Post
- Single Page
- Custom Post Type
- Suchergebnisseite
- Kategorie- und Tagseiten
- 404-Error-Seite
Diese Grafik zeigt die Hierarchie jedes Template-Typs:
Der Ablauf der Suche erklärt an einem Beispiel:
Du hast einen Blog und er befindet sich auf: www.example.com/blog/. Der Besucher klickt auf einen Link, der zu einer Kategorieseite führt: www.example.com/blog/category/cats/. Daraufhin sucht WordPress nach einer Template-Datei in dem aktuellen Verzeichnis des Themes, das auf den Namen der Kategorie passt, um die richtige Seite zu generieren. Genauer gesagt, läuft WordPress diese Schritte durch:
-
Es sucht nach einer Template-Datei, in dem Theme-Ordner, die zu dem Namen der Kategorie passt. Wenn deine Kategorie cats heißt, wird WordPress nach der Datei mit dem Namen category-cats.php suchen.
-
Falls diese Datei nicht aufzufinden ist und die ID von der Kategorie ist z.B. 4, dann wird WordPress nach der Datei category-4.php suchen.
-
Falls diese nicht vorhanden ist, wird WordPress die Standartdatei category.php aufrufen.
-
Wenn diese fehlt, wird die archive.php benutzt.
-
Und wenn keine der oben genannten Dateien zu finden sind, wird WordPress die index.php laden.
Wofür werden welche Templates benutzt?
Primäre Template-Dateien
Primäre Templates sind für die Abbildung einer bestimmten Art von Unterseite zuständig:
-
index.php – Standard-Template. Diese Datei wird zwingend benötigt.
-
single.php – steuert die Detailansicht eines Beitrags
-
page.php – steuert die Detailansicht einer Seite
-
search.php – die Übersichtsseite der Suchergebnisse
-
category.php – steuert eine Kategorie-Übersichtsseite
-
tag.php – steuert eine Schlagwort-Übersichtsseite
-
author.php – steuert eine Autoren-Detailseite
-
attachment.php – Steuert die Ansicht von Medienseiten
-
404.php – steuert die Ansicht von 404-Fehlerseiten
-
home.php – steuert die Übersichtsseite von Blog-Beiträgen. Bei einem klassischen Blog ist das die Startseite, daher home.php
-
front-page.php – steuert die Homepage, wenn eine statische Seite als Homepage definiert wurde
Sekundäre Template-Files
Sekundäre Templates werden in primäre Templates inkludiert. Es handelt sich um von WordPress fest definierte Templates.
-
header.php – steuert den Kopfbereich
-
sidebar.php – steuert die Seitenleiste
-
footer.php – steuert den Fußbereich
-
comments.php – steuert die Kommentarfunktion und -anzeige
-
searchform.php – steuert die Suchmaske Besondere Dateien
-
functions.php – steuert Theme-Funktionen
-
screenshot.png – Ein Screenshot des Themes, der im Backend angezeigt wird
Tertiäre Templates
Tertiäre Templates werden in primäre oder sekundäre Templates inkludiert, sind jedoch nicht von WordPress vordefiniert. Jede beliebige PHP-Datei kann inkludiert werden und ist dann automatisch ein tertiäres Template.
Wozu ein Child-Theme erstellen?
Es ist ratsam ein Child-Theme zu benutzen. Dieses ist eine Kopie von dem Haupt-Theme (oder auch Parent-Theme genannt), die eine zweite Ebene zu der Hierarchie hinzufügt. WordPress wird dadurch zu aller erst in dem Child-Theme nach der passenden Datei suchen. Wenn die Suche nicht erfolgreich war, wird es ins Parent-Theme übergehen. Bei einem Update von dem Parent-Theme werden alle darin enthaltenen Änderungen überschrieben. Durch das Hinzufügen eines Child-Themes wird dem vorgebeugt, denn alle Änderungen, die im Child-Theme gemacht wurden, bleiben bestehen.
Quellen
https://developer.wordpress.org/themes/basics/template-hierarchy/ https://kulturbanause.de/blog/wordpress-template-dateien-und-hierarchie/ https://kinsta.com/blog/wordpress-template-hierarchy/
Bildquellen
https://www.svgrepo.com/svg/228166/hierarchical-structure-hierarchy https://kinsta.com/blog/wordpress-template-hierarchy/