Custom Templates über theme.json im WordPress-Theme registrieren
Seiten, Beiträge und eigene Inhaltstypen können unterschiedliche Layouts benötigen. customTemplates verbindet die Vorlagendateien eines Block-Themes mit verständlichen Namen und macht sie im WordPress-Editor auswählbar.
Eine Inhaltsseite mit grosszügiger Textfläche, ein Beitrag mit ergänzender Seitenleiste oder eine eigene Darstellung für einen Custom Post Type: Block-Themes können mehrere Layoutvarianten für einzelne Inhalte bereitstellen.
Die Eigenschaft customTemplates registriert diese Vorlagen in der theme.json. WordPress verbindet dabei eine Template-Datei mit einem verständlichen Titel und den Inhaltstypen, für die sie im Editor zur Auswahl steht.

Layoutvarianten im Theme organisieren
Custom Templates liegen als HTML-Dateien im Ordner /templates. Ein Theme mit einer breiten Inhaltsvorlage und einer Variante mit Seitenleiste kann beispielsweise so aufgebaut sein:
theme/
├── templates/
│ ├── index.html
│ ├── content-canvas.html
│ └── with-sidebar.html
└── theme.json
Der Dateiname bildet die technische Verbindung zur Registrierung. Das sichtbare Layout entsteht als Block-Markup innerhalb der jeweiligen HTML-Datei.
Custom Templates in theme.json registrieren
Die Eigenschaft customTemplates enthält die Liste der verfügbaren Vorlagen. Das folgende Beispiel stellt «Breites Layout» für Seiten sowie «Mit Seitenleiste» für Seiten und Beiträge bereit:
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 3,
"customTemplates": [
{
"name": "content-canvas",
"title": "Breites Layout",
"postTypes": [ "page" ]
},
{
"name": "with-sidebar",
"title": "Mit Seitenleiste",
"postTypes": [ "page", "post" ]
}
]
}
Jeder Eintrag verbindet Theme-Datei und Editor:
nameentspricht dem Dateinamen im Ordner/templates, jeweils ohne die Endung.html.titlebezeichnet die Vorlage im WordPress-Editor mit einem verständlichen Namen.postTypeslegt fest, für welche Inhaltstypen die Vorlage verfügbar ist. Nebenpageundpostkönnen auch Slugs eigener Post Types eingetragen werden.
postTypes ist optional. WordPress ordnet eine Vorlage standardmässig dem Inhaltstyp page zu.
Layout mit Blöcken aufbauen
Die Template-Datei bestimmt die sichtbare Struktur. Eine reduzierte Vorlage für eine breite Inhaltsfläche kann Header, Hauptinhalt und Footer miteinander verbinden:
<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
<main class="wp-block-group">
<!-- wp:post-title {"level":1} /-->
<!-- wp:post-content {"layout":{"type":"constrained"}} /-->
</main>
<!-- /wp:group -->
<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->
Weitere Vorlagen können dieselben globalen Template Parts verwenden und den Hauptbereich um Spalten, eine Seitenleiste oder projektspezifische Blöcke ergänzen. Farben, Abstände und Typografie entstehen dabei über das Block-Markup und die globalen Theme-Stile.
Vorlage im Editor auswählen
Nach der Registrierung erscheint das Custom Template in den Vorlageneinstellungen der zugeordneten Inhaltstypen. Redakteurinnen und Redakteure wählen dort die Layoutvariante für die jeweilige Seite oder den jeweiligen Beitrag.
Die Auswahl gilt für den einzelnen Inhalt. Das Theme stellt dadurch eine überschaubare Gruppe benannter Layouts bereit, während die redaktionelle Zuordnung direkt im WordPress-Editor erfolgt.
Ergebnis
Layouts direkt am jeweiligen Inhalt auswählen
customTemplates verbindet Layoutdateien im Theme mit einer verständlichen Auswahl im WordPress-Editor. Redaktion und Theme greifen bei unterschiedlichen Seitentypen ineinander.
Vorlagen im Theme ablegen
Jede Layoutvariante liegt als eigenständige HTML-Datei im Ordner /templates.
Inhaltstypen zuordnen
Die Registrierung legt fest, für welche Seiten, Beiträge oder Post Types eine Vorlage bereitsteht.
Layout im Editor wählen
Redakteurinnen und Redakteure wählen die gewünschte Layoutvariante direkt beim jeweiligen Inhalt.