Block-Themes sind heute der Standard für neue WordPress-Projekte. Templates bestehen aus Block-Markup statt PHP, das Design wird zentral in theme.json gesteuert.
Aufbau eines Block-Themes
mein-theme/
├── style.css # Theme-Header
├── theme.json # Design-Tokens, Einstellungen, Styles
├── templates/ # index.html, single.html, page.html …
├── parts/ # header.html, footer.html
├── patterns/ # PHP-Dateien mit Pattern-Header
└── functions.php # optional
theme.json als Design-System
theme.json definiert Farbpaletten, Typografie, Abstände und Layoutbreiten und erzeugt daraus CSS Custom Properties (--wp--preset--color--primary). Unter settings wird festgelegt, was Redakteure überhaupt einstellen dürfen.
{
"version": 3,
"settings": {
"color": { "custom": false, "defaultPalette": false,
"palette": [ { "slug": "primary", "color": "#0b5", "name": "Primär" } ] },
"typography": { "customFontSize": false },
"layout": { "contentSize": "720px", "wideSize": "1200px" }
}
}
Mit custom: false und eigenen Paletten lassen sich Redakteure auf das Corporate Design beschränken, ein wichtiger Hebel für Konsistenz.
Wichtige Konzepte
- Style Variations in
styles/*.json: alternative Designs ohne Code. - Section Styles: Block-Stilvarianten, die verschachtelte Blöcke mitstylen.
- Synced Patterns (früher wiederverwendbare Blöcke) und Pattern Overrides für vorgefertigte, teilweise editierbare Inhalte.
- Block Bindings API: Blockattribute an Meta-Felder oder eigene Quellen binden, ohne eigenen Block zu bauen.
- PHP-only-Blöcke (seit 7.0): Einfache dynamische Blöcke ohne JavaScript-Build registrieren.
Wartungsfalle: Änderungen in der Datenbank
Was im Site Editor angepasst wird, landet als wp_template, wp_template_part oder wp_global_styles in der Datenbank und überschreibt die Theme-Dateien. Folgen:
- Theme-Updates scheinen „nicht zu wirken“.
- Git-Deployments und Datenbankzustand laufen auseinander.
Lösungen: Anpassungen mit dem Plugin Create Block Theme zurück in die Theme-Dateien exportieren, im Site Editor einzelne Templates „zurücksetzen“, und in Produktion die Bearbeitung von Templates per Rolle einschränken.
Sicherheitsaspekt
Block-Themes enthalten weniger PHP und damit weniger Angriffsfläche als klassische Themes mit Options-Panels. Trotzdem gilt: Patterns sind PHP-Dateien und werden ausgeführt; fremde Pattern-Sammlungen wie Plugins behandeln.
Weiterführende Artikel
- Hooks, Filter und Must-Use-Plugins richtig einsetzen
- Theme- und Plugin-Entwicklung im KI-Zeitalter
- Core Web Vitals und Frontend-Performance in WordPress