Templates überschreiben¶
Diese Seite ist noch im Aufbau
Das Gerüst steht, die ausführliche Beschreibung folgt. Die Angaben zu Modul, Blöcken und Einstellungen sind geprüft.
Wozu¶
Der zweite von vier Anpassungswegen: Was sich nicht über die theme.json
lösen lässt, aber die Struktur betrifft, gehört in ein überschriebenes
Template.
Die Regel ist einfach: Eine Datei mit gleichem Namen im Child ersetzt die des Parents.
Einstellungen¶
| Was | Wo im Parent | Wo im Child |
|---|---|---|
| Block-Template | templates/single.html |
templates/single.html |
| Template-Part | parts/header.html |
parts/header.html |
| PHP-Template | single.php |
single.php |
| PHP-Baustein | template-parts/cards/card-post.php |
gleicher Pfad |
Welche Dateien es gibt: Templates.
Verwenden¶
Eine Kopie bekommt keine Updates mehr
Ein überschriebenes Template erhält keine Verbesserungen aus Parent-Updates. Deshalb: nur überschreiben, was sich tatsächlich unterscheidet, und die Änderung dokumentieren.
Nach einem Parent-Update lohnt der Abgleich, ob sich die Vorlage geändert hat.
Das Verhältnis zum Site-Editor¶
Drei Ebenen, in dieser Rangfolge:
- Die im Site-Editor gespeicherte Fassung — liegt in der Datenbank
- Die Datei im Child-Theme
- Die Datei im Parent-Theme
Die Datenbank gewinnt. Wurde ein Template im Site-Editor bearbeitet, wirkt eine geänderte Datei im Child nicht — bis man das Template im Editor zurücksetzt.
Das ist die häufigste Verwirrung bei Block-Themes: Die Datei ist geändert, das Frontend zeigt es nicht.
Entwicklertipps¶
Für neue Seitenvorlagen genügt eine Datei plus ein Eintrag unter
customTemplates in der theme.json des Childs.
Loop-Vorlagen entstehen aus Dateien: Eine weitere
template-parts/loops/loop-*.php erscheint automatisch in der Auswahl des
Blocks TW Loop und als Blockvorlage.
Nützliche Prüfung:
if (twtheme_block_template_part_exists('sidebar-post')) {
twtheme_render_block_template_part('sidebar-post');
}