WordPress sieht in Themes viele verschiedene Templates für unterschiedliche Ausgaben vor. Im Folgenden möchten wir einen einfachen Überblick über die WordPress Template Dateien geben und erläutern, wann WordPress welche Templates verwendet.
Was ist ein Template?
WordPress ist in PHP programmiert und liegt quelloffen vor. Seine Template Dateien sind die Basis für die sog. Front-End-Ausgabe des Themes, nutzen HTML/CSS und PHP zur Ausgabe der in der Administration gepflegten Inhalte und Daten. Damit WordPress reibungslos funktioniert genügt schon eine einzige Template Datei: index.php
Moderne Themes nutzen aber eine Vielzahl spezieller Template Dateien, angepasst zur Ausgabe konkreter Inhalte. Beiträge können so beispielsweise anders erscheinen als Seiten. WordPress unterscheidet:
- Query Templates
Also Templates, die direkt beim Aufruf einer Seite geladen werden; für diverse Beiträge, statische Seiten oder sog. Archive. Beispielsweise single.php, home.php oder archive.php - Template Partials
Zudem gibt es mit den Template Partials Dateien, welche die Ausgabe bestimmter Bereiche der Webseite enthalten. Hier zum Beispiel den Header oder Footer, die Suche oder die Ausgabe der Kommentare. Diese Ausgabe-Vorlagen werden dann in anderen Templates eingebunden. Beispiele sind: header.php, sidebar.php oder eben footer.php
Wann nutzt WordPress welches Template?
WordPress lädt bei Aufruf einer Webseite die jeweils hinterlegte Template Datei selbständig. Welche Template Datei geladen wird ist aber von der eingegebenen URL abhängig. WordPress sucht Anhang der Template Hierarchie nach dem richtigen Template. Wenn kein spezielles Template vorgefunden wird, wird die index.php geladen.
Vorab gibt es hier die WordPress Template Hierarchie im Bild:
Man kann sich bei WPhierarchy auch interaktiv mit der Hierarchie beschäftigen.
Primäre WordPress Template Dateien
Als primäre Templates werden die Dateien eine Hierarchie-Ebene über der index.php bezeichnet. Es handelt sich mit um die häufigsten Template Dateien, die in Themes eingesetzt werden.
- 404.php
ist die Datei, welche bei Fehler 404 geladen wird; also wenn die angefragte Datei bzw. der Inhalt nicht in der Datenbank auffindbar ist. - home.php
zeigt die letzten Beiträge, wird aber nicht zwingend als eigentliche Homepage (Startseite) genutzt. Sie funktioniert – wenn eine statische Seite als Homepage dient – als Blog-Startseite. - archive.php
Archive wird für die Ausgabe von Tag-, Kategorien-, oder Autoren-Archiven genutzt. Man kann mit WordPress aber spezifische, sog. sekundäre Templates wie category.php oder auch author.php definieren. - search.php
zeigt die Suchergebnisse, wenn eine Suche durchgeführt wurde - page.php
zeigt eine statische Seite an. - single.php
zeigt einen einzelnen Beitrag an. Oft ergänzt mit comments.php und sidebar.php. - singular.php
ist eines der jüngeren Templates. Es wird gemäß der WordPress Template Hierarchie nach single.php und page.php, aber vor index.php geladen. Ziel war es, die einfaches Ausgabe von statische Seiten und Beiträgen im gleichen Template zu schaffen. - index.php
ist das Standard-Template, was zur Ausgabe herangezogen wird, wenn es keine der o.g. WordPress Template Dateien gibt. - style.css
Zwar keine HTML-Datei, aber zentral für jedes Theme: Die zentrale Stylesheet-Datei, die auch Informationen zum Namen des Themes, dem Autor etc. enthält (der sog. Information Header). - screenshot.png
ist das Vorschaubild des Themes im Admin, wird als 4:3-Bild ausgegeben. Wir empfehlen die Größe von 1024 x 768px.
Sekundäre WordPress Templates
Die sekundären Templates sind in der WordPress-Hierarchie eine Ebene höher:
- author.php
- category.php
- date.php
- tag.php
Hiermit können für die Archive von Autoren, Kategorien, Datum und Schlagwörter unterschiedliche Ausgaben erstellen, anstatt auf archive.php zurückzugreifen.
- front-page.php
Liegt im Theme eine front-page.php vor, wird sie als Template für die Startseite verwendet, ganz gleich ob eine statische Seite oder die letzten Blog-Beiträge als Startseite ausgewählt wurden. Ohne das Front-Page-Template wird je nach Wahl entweder die home.php oder die page.php eingebunden.
Variable Template Dateien
Erwähnt werden sollte noch, dass Ihnen WordPress die Verwendung sog. variabler Template Dateien ermöglicht. Diese Dateien lassen die Nutzung individueller Templates für Slugs, IDs oder spezielle Autoren zu:
- author-{nicename}.php
Um die Beiträge eines bestimmten Autors alternativ darzustellen kann das Template author-horst.php (Beispiel) für den Autoren mit dem im System hinterlegten Namen Horst angelegt werden. - category-{slug}.php
Eine spezielle Kategorie wie zB. „Allgemein“ erhält mit category-allgemein.php eine eigene Ausgabe, die anstelle der category.php angezeigt wird. - page-{id}.php
Für konkrete Seiten können eigene Templates hergestellt werden. Für die Seite mit der ID 3 würde WordPress – insofern vorhanden – das Template page-3.php zur Ausgabe nutzen.
WordPress kann für eigene Custom Post Types eigene Templates nutzen. Das nutzen wir in der Praxis sehr häufig:
- archive-{post-type}.php
- single-{post-type}.php
Damit können z.B. für den Custom Post Type mit dem Slug rezept mit individuellen WordPress Template Dateien zur Anzeige von Rezepten erstellt werden: archive-rezept.php und single-rezept.php.
Standard Template Parts
Die wichtigsten Template Parts von WordPress sind:
- header.php
enthält den Quellcode des sog. Headers eines Themes. Hier findet man häufig Logo, Navigation und Werbebanner. Diese Header Template Datei kann mit der Funktion get_header() in andere Template hineingeladen werden. - footer.php
beschreibt den sog. Footer der jeweiligen Website. Wird analog zum Header mit get_footer() in ein Template geladen. - sidebar.php
enthält die Darstellung der Sidebar, bzw. der Widgets und wird mit get_sidebar() eingebunden. - comments.php
gibt die Kommentare innerhalb einer WordPress Template Datei aus Seite aus. Wird häufig in single.php und page.php mit comments_template() aufgerufen. - searchform.php
ersetzt bei Bedarf das Standard-Suchformular und enthält entsprechend ein eigenes Formular passend zum jeweiligen Theme. Kann mit get_search_form() geladen werden, oft direkt in der Sidebar.
Sicher kann man zum Thema der WordPress Template Dateien und -Hierarchie noch wesentlich mehr sagen, aber uns ging es an dieser Stelle um eine Einführung bzw. einen Überblick. WordPress stellt hierfür mit dem Theme-Handbuch selbst sehr gute, aber ausschließlich englischsprachige Inhalte bereit.