Einführung in die WordPress-Template-Hierarchie
Veröffentlicht: 2019-12-11Eine der Schlüsselfragen, die sich WordPress-Benutzer irgendwann in ihrem Leben stellen, lautet: Wie schaffen es WordPress-Themes, je nach Inhalt, den wir sehen, unterschiedliche Seiten anzuzeigen?
Die Frage ist nicht nur völlig legitim, sondern auch sehr interessant. WordPress ist in der Lage zu erkennen, welche Inhalte gerendert werden sollen, und je nach Typ die eine oder andere Vorlage zu verwenden. WordPress-Designs sind nichts anderes als eine Reihe spezifischer Vorlagen für jeden Inhaltstyp mit etwas JavaScript für dynamische Elemente und CSS für Stile und Farben.
Perfekt, aber … wie funktionieren WordPress-Vorlagen eigentlich? Dies werden wir in diesem Beitrag Schritt für Schritt sehen.
Bevor wir jedoch beginnen, lassen Sie mich Ihnen ein Bild mit der Antwort auf diese Frage zeigen:

Dies ist die Hierarchie der WordPress-Vorlagen. Alle Informationen dazu finden Sie im WordPress Codex, der offiziellen Dokumentation. Auf dieser coolen Website können Sie sogar mit dieser Hierarchie interagieren.
Grundsätzlich verwendet WordPress eine Hierarchie von Vorlagen, um seine Inhalte zu rendern. Das heißt, WordPress sucht innerhalb des Themes, das Sie aktiv haben, nach einer bestimmten PHP-Datei. Wenn es existiert, rendert WordPress den Inhalt mit dieser Datei, die wir Vorlage nennen. Ist dies nicht der Fall, sucht WordPress nach der nächstgenerischen Vorlage innerhalb der Hierarchie. Wenn es existiert, verwendet WordPress es. Andernfalls sucht WordPress nach dem nächsten Template in der Hierarchie … und so weiter. Wenn WordPress eine bestimmte Vorlagendatei in Ihrem Design nicht finden kann, verwendet es die Standarddatei index.php , die generischste aller Vorlagen.
Lassen Sie uns nun innerhalb der Vorlagenhierarchie einiger der häufigsten WordPress-Inhalte tiefer ins Detail gehen.
Seitenvorlagen
Sehen wir uns die Vorlagen an, die WordPress zum Rendern von Seiten und einfachen Inhaltstypen verwendet.
Beiträge und benutzerdefinierte Beitragstypen
WordPress betrachtet die folgenden PHP-Dateien in Ihrem Design, um einen Blogbeitrag oder einen benutzerdefinierten Beitragstyp zu rendern:
-
single-{post-type}-{slug}.php: Wenn Sie eine bestimmte Vorlage für einen bestimmten Beitrag oder einen bestimmten Beitragstyp wünschen, müssen Sie diese PHP-Datei in Ihrem Design erstellen. Sein Name enthält den Namen des Beitragstyps ({post-type}), der post oder irgendetwas anderes sein kann ( product , wenn Sie WooCommerce verwenden). Und Sie müssen auch den Slug oder Permalink, nennen Sie ihn wie Sie wollen, in den Namen der Vorlage eingeben. Wenn ich beispielsweise ein bestimmtes Template für diesen Beitrag verwenden möchte, müsste ich die Dateisingle-post-introduction-to-the-wordpress-template-hierarchy.phperstellen. -
single-{post-type}.php: Wenn wir alle Inhalte eines bestimmten Post-Typs (alle Posts oder alle Produkte) beeinflussen möchten, verwenden wir diese Vorlage, deren Name nur den Namen des Post-Typs enthält. -
single.php: WordPress verwendet diese Vorlage, um einzelne Inhalte (einen bestimmten Beitrag, ein bestimmtes Produkt usw.) zu rendern. -
singular.php: Dies ist ein weiteres Top-Level-Template zum Rendern einzelner Inhalte jeglicher Art. -
index.php: Wenn keine der oben genannten gefunden wurde, verwendet WordPress diese generische Vorlage, um Ihre Inhalte zu rendern.
Denken Sie daran, dass Ihnen im WordPress-Theme-Verzeichnis Tausende von Beispielen für WordPress-Themes zur Verfügung stehen. Ich empfehle Ihnen, eines herunterzuladen und als Lernübung zu versuchen, seine PHP-Dateien zu inspizieren und die Vorlagen zu identifizieren, die ich gerade vorgestellt habe.
Auf diese Weise können Sie verstehen, welche Vorlagen sie innerhalb der Hierarchie der WordPress-Vorlagen verwenden, und sehen, welchen Inhalt jede dieser Vorlagen hat. Wenn Sie mehr über WordPress-Themes erfahren möchten, ist dies zweifellos etwas, was Sie tun müssen. Außerdem ist es kostenlos!
Normale Seiten
Wie bei Beiträgen und anderen Beitragstypen verwendet WordPress eine Hierarchie von Vorlagen zum Rendern von Seiten:
- Ausgewählte Vorlage: Wenn Sie beim Bearbeiten einer Seite im Feld Seitenattribute eine bestimmte Vorlage auswählen, hat diese immer Vorrang vor allen anderen. Hier erfahren Sie, wie Sie benutzerdefinierte Vorlagen erstellen.
-
page-{slug}.php: Wenn Sie möchten, dass eine bestimmte Seite eine eigene Vorlage hat, erstellen Sie diese Vorlage in einer PHP-Datei, die den Slug der Seite im Namen enthält. -
page-{id}.php: Sie können auch direkt die WordPress-Seiten-ID verwenden, auf der die Vorlage angewendet wird. -
page.php: Diese Vorlage gilt für alle WordPress-Seiten, es sei denn, eine der vorherigen Vorlagen in der Hierarchie wurde bereits angewendet. -
singular.php: Das Singular-Template ist das Standard-Template für alle Seiten, Posts, Produkte usw. Diese Vorlage wird selten angewendet, da die meisten Themes in WordPress bereits einepage.phpVorlage enthalten. -
index.php: Dies ist wie immer die standardmäßige Fallback-Vorlage von WordPress.
Versuchen Sie nun, das zuvor heruntergeladene Design erneut zu überprüfen, und Sie werden feststellen, dass Sie die anderen dort angezeigten Dateien jetzt etwas besser verstehen. Sicherlich können Sie jetzt PHP-Dateien für Seitenvorlagen identifizieren.
Sonderseiten
In WordPress gibt es andere spezielle Seiten, die ebenfalls bestimmte Vorlagen zum Rendern von Inhalten verwenden. Ein Beispiel hierfür ist die Hauptseite der Website. Denken Sie daran, dass die Hauptseite in den WordPress- Einstellungen im Untermenü Lesen ausgewählt ist. Für diese Seite wird die folgende Vorlagenhierarchie verwendet:

-
front-page.php: Wenn Sie eine statische Seite als Hauptseite in WordPress verwenden, wird zunächst versucht, die Vorlagefront-page.php. -
home.php: Wenn die vorherige Vorlage nicht gefunden wird, versucht WordPress, diese Vorlage zu verwenden. Diese Vorlage wird auch verwendet, wenn Sie anstelle einer statischen Seite als Hauptseite die Option zum Anzeigen Ihrer neuesten Beiträge ausgewählt haben. -
index.php: Auch hier ist die Standardvorlage immer vorhanden.
Die Seite, die die Suchergebnisse Ihres WordPress anzeigt, ist ebenfalls eine spezielle Seite, die ein eigenes Template haben kann. Dazu können Sie die Vorlage search.php verwenden. Wenn Ihr Thema es nicht definiert, wird index.php wie gewohnt verwendet.
Schließlich kann die Seite, die angezeigt wird, wenn Ihre Website einen 404-Fehler zurückgibt, auch mit einer bestimmten WordPress-Vorlage konfiguriert werden. Sie müssen die 404.php -Datei in Ihrem Design erstellen und dann wird diese Vorlage angewendet.
Vorlagen für Archive
Bisher haben wir Vorlagen für einzelne Inhalte gesehen (außer bei Suchergebnissen). Aber in WordPress gibt es auch Archive, die mehr als ein Element auf einer Seite darstellen können. Mal sehen, welche Hierarchie von Vorlagen WordPress in diesem Fall verwendet.
Kategorien und Tags
WordPress verwendet die folgende Vorlagenhierarchie für Kategorien:
-
category-{slug}.php: Diese Vorlage wird verwendet, um die Liste der Inhalte (normalerweise Beiträge) zu rendern, die zu einer bestimmten Kategorie gehören. Insbesondere wird es beim Rendern der Kategorie verwendet, deren Slug im Namen der PHP-Datei erscheint. -
category-{id}.php: Wenn Sie es vorziehen, Kategorie-IDs anstelle von Slugs zu verwenden, können Sie dies auch tun. Wenn Sie beispielsweise eine Vorlage auf die Kategorie 13 anwenden möchten, erstellen Sie die Vorlagendatei mit dem Namencategory-13.php. -
category.php: die Standardvorlage für alle Kategorien. -
archive.php: Dies ist die generischste Vorlage für Archive in WordPress. -
index.php: Wenn Ihr Design keine spezifischere Vorlage enthält, verwendet WordPress standardmäßig diese Datei.
Für Tags wird die folgende Vorlagenhierarchie verwendet:
-
tag-{slug}.php: Wenn das Tag interview heißt, können wir die Vorlagetag-interview.phpverwenden, falls wir eine bestimmte Vorlage für dieses Tag in WordPress entwerfen möchten. -
tag-{id}.php: Wir können die Vorlage auch über die Tag-ID definieren. -
tag.php: Wie beicategory.phpist dies die generische Vorlage für Tags. -
archive.php: Auch hier wird diese Vorlage verwendet, wenn keine der oben genannten vorhanden ist. -
index.php: Dies ist wie immer das Fallback-Template.
Benutzerdefinierte Beitragstypen und benutzerdefinierte Taxonomien
Wenn wir benutzerdefinierte Inhaltstypen haben, können wir das Vorlagenarchiv- archive-{post_type}.php wobei post_type der Slug des benutzerdefinierten Beitragstyps ist. Dadurch wird das Inhaltsverzeichnis für diesen Beitragstyp gerendert.
Für benutzerdefinierte Taxonomien verwendet WordPress die folgende Vorlagenhierarchie:
-
taxonomy-{taxonomy}-{term}.php: Wenn Sie eine benutzerdefinierte Taxonomie namens Videospiele in WordPress haben und eine Vorlage mit einem bestimmten Design für den Begriff Sport innerhalb dieser Taxonomie erstellen möchten, müssen Sie die Dateitaxonomy-videogames-sports.phperstellentaxonomy-videogames-sports.php, um diese Vorlage zu verwenden. -
taxonomy-{taxonomy}.php: Wenn Sie dieselbe Vorlage für alle Taxonomiebegriffe verwenden möchten, verwenden Sie im vorherigen Beispiel einfachtaxonomy-videogames.php. -
taxonomy.php: Dies ist die Standardvorlage für alle Taxonomien. -
archive.php: Wenn keine der oben genannten Vorlagen vorhanden ist, gilt dies. -
index.php: Auch dies ist die Standard-Fallback-Vorlage.
Mit all diesen Erklärungen sollten Sie bereits alles haben, was Sie zum Erstellen und Identifizieren von Vorlagen in Ihren WordPress-Themes benötigen.
Um zusammenzufassen
Das Verständnis der Hierarchie von WordPress-Vorlagen ist der Schlüssel, um die Themen zu verstehen und sogar eigene zu entwickeln. Es schadet nie, sich dies anzusehen und zu wissen, wie es funktioniert, um Vertrauen zu gewinnen, wenn Sie beginnen, den PHP-Code des Themas zu ändern, das Sie in unserem WordPress verwenden.
Es gibt einige andere Vorlagen, die jedoch seltener verwendet werden. Denken Sie auf jeden Fall daran, dass Sie jederzeit die WordPress Codex-Dokumentation überprüfen können. Dort finden Sie alles, was hier nicht erklärt wurde.
Was halten Sie von all dem? Verwendest du noch Vorlagen für deine WordPress-Inhalte oder baust du bereits alle Designs mit Blöcken? Vergessen Sie nicht, mir unten einen Kommentar zu hinterlassen, wenn Sie das Ende des Beitrags erreicht haben – ich würde gerne wissen, wie Sie WordPress-Vorlagen verwenden!
Beitragsbild von Edvard Alexander Rlvaag auf Unsplash .
