Zum Inhalt

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:

  1. Die im Site-Editor gespeicherte Fassung — liegt in der Datenbank
  2. Die Datei im Child-Theme
  3. 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');
}

Weiter