Child-Themes sind dazu gedacht, Änderungen und Ergänzungen an einem Theme so vorzunehmen, dass sie leicht nachvollziehbar sind und bei einem Update des Parent-Theme nicht überschrieben werden. Du kannst mit einem Child-Theme z.B. ein eigenes Stylesheet und damit zusätzliche CSS-Regeln einbinden oder ein Template des Parent-Theme kopieren und nach deinen Wünschen abändern. Das Child-Theme wird dann nur aus einer functions.php
und dem kopierten und modifizierten Template (z.B. footer.php
) bestehen.
Page Builder sind eigenständige Erweiterungen, die eine komplexere Darstellung von Inhalten erlauben. Inhalte, die du mit dem Page Builder erstellst und auch gestaltest, sollten weitgehend unabhängig vom Theme ausgegeben werden. Legst du z.B. mit einem Page Builder fest, dass ein Abschnitt einer neuen Seite drei Spalten haben soll, in denen oben jeweils ein Bild und darunter Text ausgegeben wird, wird das so mit jedem Theme ausgegeben.
Es kann aber sein, dass die Gestaltung des Themes A die Spalten mit Rahmen und Schatten ausgibt, während Theme B statt dessen einen farbigen Hintergrund verwendet. Ergänzend könnte ein Child-Theme von Parent Theme B dann den farbigen Hintergrund mit einer zusätzlichen CSS-Regel statt in blau dann in rot darstellen.
Also:
- Theme gibt allgemeine Formatierung vor und bestimmt, wie Inhalte für Beiträge, Seite, Beitragsarchive usw. gerendert werden,
- Child-Themes ergänzen/ersetzen die Formatierung des Parent-Themes und
- der Page Builder erstellt und formatiert Inhalt, wobei Vorgaben des (Child-)Themes ggf. überschrieben werden
Achte bitte auch darauf, dass für jedes Theme eigene Einstellungen im Customizer gespeichert werden. Nimmst du im Customizer eine Einstellung für ein Parent Theme vor und wechselst zum Child Theme, wird das als neues, unabhängiges Theme gesehen. Die Einstellungen, die du für das Parent Theme vorgenommen hast, gelten nicht mehr. (Hilfreich ist ein Plugin, mit dem du die Einstellungen Exportieren und nach Wechsel zu einem anderen Theme wieder importieren kannst, z.B. Customizer Export/Import.)
Übrigens ist es in den meisten Fällen nicht nötig, ein Child-Theme zu erstellen. Wenn du nur CSS-Regeln ändern willst, kannst du deine eigenen CSS-Regeln auch im Customizer unter Zusätzliches CSS eintragen. Oft bieten Themes auch „Hooks“ an, also Schnittstellen, über die du eigene PHP-Funktionen einbinden kannst. Grundsätzlich erhöhen Child-Themes auch den Wartungsaufwand für eine Website, weil du nach jedem Update des Parent Theme prüfen solltest, ob kopierte und von dir modifizierte Templates oder Funktionen des Parent Theme geändert wurden.
Hallo,
Grundsätzlich erhöhen Child-Themes auch den Wartungsaufwand für eine Website, weil du nach jedem Update des Parent Theme prüfen solltest, ob kopierte und von dir modifizierte Templates oder Funktionen des Parent Theme geändert wurden.
Um das zu testen, gibt es auch ein sehr schönes Plugin von Torsten Landsiedel: Child Theme Check: „Dieses Plugin hilft dir dabei diese Änderungen des Eltern-Themes zu verfolgen.“
Wenn man also Templates im Rahmen eines Child Themes geändert hat, erhält man bei Einsatz dieses Plugins einen entsprechenden Hinweis, wenn das Template im Parent Theme geändert wurde.
Viele Grüße
Hans-Gerd
Hallo, vielen Dank erst einmal für eure Erläuterungen. Ich werde wohl zunächst erst einmal auf das Child Theme verzichten.
Ist deine Frage damit beantwortet?
Dann wäre es schön, wenn du den Thread noch als „gelöst“ markierst.
Ja das ist sie. Vielen Dank.