Kleinere Desgin-Anpassungen an WordPress Themes sind schnell und einfach erledigt. In der Regel genügt es, die betreffende Stelle im Stylesheet zu ändern und schon ist das Design angepasst. Allerdings werden sämtliche Änderungen beim nächsten Update des Themes überschrieben.
Um das zu vermeiden, solltest du ein WordPress Child Theme nutzen. Wie man dieses erstellt, erfährst du im folgenden Tutorial.
Was ist ein WordPress Child Theme?
Ein Child-Theme erbt alle Style-Eigenschaften und Funktionen des übergeordneten Parent-Themes. Individuelle Anpassungen im Child-Theme überschreiben jedoch die Einstellungen des Original Themes. So kannst du nicht nur kleine Design-Änderungen vornehmen, sondern auch ganze Templates abändern.
A child theme is a theme that inherits the functionality and styling of another theme, called the parent theme. Child themes are the recommended way of modifying an existing theme.
WordPress Codex
Vorteile:
- Bei einem Theme Update des Haupt-Themes gehen die individuellen Änderungen nicht verloren, sondern bleiben im Child Theme bestehen.
- Child-Themes können die Entwicklungszeit der Webseite beschleunigen.
- Insbesondere Anfänger können sich im Child-Theme austoben; geht mal was schief, kann man auf das Parent-Theme zurückgreifen.
Nachteile:
- Ein kleiner Nachteil von WordPress Child Themes könnte in der Website-Performance liegen. Da zwei Stylesheets geladen werden müssen, erhöht sich die Anzahl der Requests und natürlich auch die Größe der Webseite. In meinem Test konnte ich jedoch keine wirklichen Performance-Einbußen feststellen:
Inhalt:
WordPress Child Theme erstellen:
In diesem Beispiel erstelle ich ein Child-Theme für das WordPress Theme Twenty Fifteen.
1. Ordner für Child-Theme anlegen
Zuerst musst du Dich per FTP mit deinem Server verbinden.
Dazu benötigst Du ein Programm wie beispielsweise FileZilla.
Zum Verbinden mit dem Server benötigst du folgende Informationen von deinem Provider:
- Server-Name
- FTP-User
- FTP-Passwort
Genaue Infos zur Nutzung von FTP findest du in meiner Anleitung WordPress FTP Zugang einrichten.
Sobald du dich mit dem Server verbunden hast, suchst du den Ordner deiner WordPress-Installation. Dort legst du dann im Ordner Themes einen neuen Ordner für das WordPress Child Theme (twentyfifteen-child) an.
2. Style Datei anlegen
Zuerst legst du im Child-Theme Ordner eine Datei style.css
an. Hier der Inhalt:
/*
Theme Name: Twenty Fifteen Child
Description: Mein Child Theme
Author: Webtimiser
Author URI: httpw://www.webtimiser.de
Template: twentyfifteen
Version: 1.0
Text Domain: twenty-fifteen-child
*/
3. functions.php erstellen
Erstelle anschließend im Child-Theme Ordner die Datei functions.php.
Hier wird nun festgelegt, dass zunächst das Stylesheet des Original-Themes (parent-style) geladen wird. Erst danach wird das Stylesheet des Child-Themes (child-theme-css) geladen.
<?php
/**
* Child theme stylesheet einbinden in Abhängigkeit vom Original-Stylesheet
*/
function child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-theme-css', get_stylesheet_directory_uri() .'/style.css' , array('parent-style'));
}
add_action( 'wp_enqueue_scripts', 'child_theme_styles' );?>
4. Screenshot erstellen (optional)
Wer möchte, kann noch eine Screenshot-Datei (screenshot.png) im Ordner ablegen. Dadurch ist das WordPress Child Theme in der Theme-Verwaltung eindeutig zu erkennen.
5. WordPress Child theme aktivieren
Nachdem der Ordner für das Child Theme angelegt ist und sich alle benötigten Dateien darin befinden, kann das Theme aktiviert werden.
Das funktioniert wie bei allen anderen WordPress Themes.
Unter Design > Themes kannst du nun dein neues Child Theme aktivieren.
Falls es beim Aktivieren zu einer Fehlermeldung kommt, überprüfe am besten die Angaben in der style.css.
6. Anpassungen aus dem Parent Theme übernehmen
Falls du das Grundtheme schon über den WordPress Customizer eingerichtet hast, gehen beim Wechsel auf das Child Theme leider alle Anpassungen verloren. Wenn du die Einstellungen nicht manuell übertragen möchtest, empfehle ich hierfür das Plugin Customizer Export/Import.
Sobald du das Plugin installiert hast, findest du ganz unten im Customizer einen Button Export/Import.
Im ersten Schritt exportierst du die Einstellungen des Parent Themes. Anschließend wechselst du wieder in das Child Theme und importierst die Daten.
WordPress Child Theme anpassen
Design-Anpassungen kannst du nun direkt in die Datei style.css des Child-Themes einfügen. Sobald du die Seite neu lädst, siehst du gleich das Ergebnis.
In diesem Beispiel habe ich lediglich kleinere Anpassungen an der Optik vorgenommen und eine andere Schriftart gewählt.
Post-Title ändern
h2 {
font-family: 'Roboto Slab', sans-serif;
font-weight:700;
}
h2.entry-title {
text-align:center;
}
h2.entry-title:after {
background-color: #D24F21;
width: 100px;
height: 2px;
margin: 15px auto 0px;
content: "";
display: block;
}
Font ersetzen
Die Standardschrift von Twent Fifteen ist Noto. Für die Artikel-Headline des Child-Themes möchte ich aber Roboto Slab einsetzen. Also binde ich die Schrift einfach über die functions.php ein:
function load_google_fonts() {
wp_register_style('googleFonts', 'http://fonts.googleapis.com/css?family=Roboto+Slab:700');
wp_enqueue_style( 'googleFonts');
}
add_action('wp_print_styles', 'load_google_fonts');
Artikel-Background einfärben
Die Hintergrundfarbe ändere ich über folgende Styles:
.hentry {
background: #e1f5fe;
}
.entry-footer {
background: #01579b;
color: #fff;
}
.entry-footer a {
color: #fff;
}
.entry-footer a:hover {
color: #ff9800;
}
Twenty Fifteen Sidebar anpassen
Die linke Sidebar ist sehr breit und kann durch folgende CSS-Anweisungen an die gewünschte Breite angepasst werden.
@media screen and (min-width: 59.6875em) {
body:before {
max-width: 380px;
}
#sidebar {
left: 0;
max-width: 380px;
}
#page {
margin-left: 0px;
}
}
Template Files anpassen
Wenn du Anpassungen an einzelnen Template-Dateien (Footer.php, Page.php,…) machen möchtest, ist das kein Problem!
Kopiere dazu einfach die entsprechende Datei aus dem Original-Theme. Anschließend fügst du sie in den WordPress Child Theme Ordner ein. Danach kannst du das Template anpassen.
Sämtliche Änderungen überschreiben dann die Template-Files des Parent-Themes.
Twenty Fifteen Child Theme downloaden
Tipp: Alternativen zu WordPress Child Themes
Wer wirklich nur geringfügige Änderungen am Design machen möchte, muss nicht unbedingt ein WordPress Child Theme erstellen. Man kann auch auf Plugins wie z.B. Simple Custom CSS zurückgreifen. Dieses Plugin ermöglicht das einfache Überschreiben der Theme-Styles.
Oder du nutzt den Customizer, um dein eigenes CSS in WordPress einzufügen. Hier kann man seine eigenen CSS Anweisungen einfügen und sieht direkt die Änderung.
Und falls du nur ein paar Code-Schnipsel einbauen möchtest, kannst du auch einfach ein Custom Functions Plugin erstellen.
Child Theme mittels Plugin erstellen
Natürlich kann man ein WordPress Child Theme auch mit Hilfe eines Plugins anlegen.
Kurz getestet habe ich den Child Theme Configurator von Lilaea. Nach der Installation findet man das Plugin unter > Werkzeuge > Kindthemen.
Auch unerfahrene Benutzer können mit dem Konfigurator schnell und einfach ein Child Theme erstellen. Wer sich etwas besser mit WordPress auskennt, wird mit der manuellen Variante vermutlich schneller ans Ziel kommen.
Sicherheit von Child Themes
Falls das Eltern-Theme eine Sicherheitslücke beinhalten sollte, wird diese (hoffentlich) vom Theme-Entwickler behoben. Doch wie wirkt sich das auf dein Child-Theme aus?
Nehmen wir an, der Code in der Datei header.php wird aus Sicherheitsgründen angepasst. Wenn du diese Datei geändert hast und sie in Deinem Child-Theme gespeichert ist, wirst du leider nicht vom Sicherheitsupdate profitieren. Denn die Datei des Child Themes überschreibt die Datei des Hauptthemes.
Eine gute Möglichkeit diese Unterschiede aufzuspüren bietet das Plugin Child Theme Check.
Sobald es installiert ist, findest du im Tab Status eine Auflistung der geänderten Dateien. Finde ich sehr gut, denn so behält man bei umfangreichen Anpassungen den Überblick.
Im Tab Unterschiede kannst du dir jede Datei genauer ansehen. D.h. du kannst direkt den Code der Original-Datei mit dem der geänderten Datei vergleichen.
So kannst du überprüfen, ob wichtige Code-Änderungen vorliegen und ggf. dein Template anpassen.
Fazit:
Die Nutzung eines WordPress Child Theme bietet viele Vorteile. So kann man ungestört und gefahrlos am Design und der Funktionalität des Themes basteln. Denn das ursprüngliche Theme bleibt davon unberührt.
Geht mal was schief, kann man jederzeit wieder auf das Parent-Theme zurückgreifen. Und alle Änderungen bleiben bestehen, auch wenn das Haupt-Theme aktualisiert wird. So profitiert man von Theme-Updates und deren Verbesserungen und kann seine individuellen Anpassungen beibehalten.
Ein Child Theme funktioniert übrigens nicht nur für die Standard-Themes von WordPress. Auch bei Premium-Themes wie z.B. Enfold oder Divi kannst du ein Child Theme nutzen.
Child Theme Vorlagen
Nutzt du die eines der Themes Enfold, DIVI oder Hello (für Elementor)? Oder wie ich OceanWP?
Dann findest du hierfür die blanko Child Themes zum Download. Das jeweilige ZIP-Archiv kannst du über die normale Theme Installation im Dashboard einspielen und anschließend aktivieren. So sparst du dir ein wenig Arbeit, wenn du ein WordPress Child Theme erstellen möchtest.
DIVI
Enfold
OceanWP
Hello Theme
Weitere Informationen zu WordPress Child Themes:
https://developer.wordpress.org/themes/advanced-topics/child-themes/
Hi,
tolle Erklärung. Danke dafür.
Ich habe alle Schritte befolgt zum Erstellen der css und php Datei. Nur leider erscheint mein Child Theme nicht in der Übersicht. Woran kann das liegen?
Meine Website ist noch bei wordpress gehosted. Kann es daran liegen?
Umziehen kann ich erst im März.
Hi Maj-Britt,
bei wordpress.com hat man leider nur ab den Business-Tarifen Zugriff auf die Theme-Funktionen.
Viele Grüße
Sonia
Danke für die schnelle Rückmeldung. Es war tatsächlich nur ein Schreibfehler, den ich partout nicht gesehen habe …
Nun klappt es und ich kann ein bisschen rumprobieren!
Der Button zum WP Child Theme verweist auf das Enfold Child-Theme. Vielleicht kann der Link korrigiert werden oder kurz gepostet werden?
Hallo Gerald,
vielen Dank für den Hinweis! Den Link zum OceanWP Child Theme habe ich gerade korrigiert.
Viele Grüße
Sonia
Hi,
ich verstehe eine Sache nicht: Wie werden child und parent „verknüpft“, also das child bekommt ja alle Funktionalitäten des Parent-Themes. Dann müsste ich ja nur die zusätzlichen Dinge z.B. in der functions.php eintragen. Nur woher weiß das Child theme das es ein parent hat. so wie hier beschrieben könnte man ja auch ein neues eigensändiges Theme anlegen oder?
Hi Alex,
die Infos hierfür werden in der Datei style.css (Punkt 2) eingetragen.
Viele Grüße
Sonia
Danke für Deine Beitrag. Ich habe ein Child Theme erstellt und aktiviert. Jetzt verstehe ich nicht warum google analytics nicht mehr funktioniert?
Hallo Kerstin,
wie ist GA denn auf deiner Seite eingebunden? Über ein Plugin oder einen eigenen Code?
Viele Grüße
Sonia
hallo! bins noch einmal.
mit dem configurator hats jetzt geklappt.
danke!
lg lintschi
Hallo Lintschi,
prima, dass es doch noch geklappt hat!
LG Sonia
hallo!
ich habe mit deiner anleitung schon etliche child-themes für verschiedene seiten angelegt. nun habe ich eine neue installation,
da hatte ich ursprünglich das theme „elara“ installiert und auch ein child-theme angelegt. das funktionierte noch.
dann habe ich auf ein anderes theme gewechselt. und da funktioniert es nicht. ich habe dann probeweise noch ein drittes probiert, auch da funktioniert es nicht.
leider krieg ich in den foren keine antwort auf mein problem.
hast du vielleicht eine ahnung oder einen tipp für mich?
ich wäre sehr dankbar!
ich habe hier einen screenshot hochgeladen: https://abload.de/img/210609_childu4kzy.jpg
DANKE im voraus!
lg lintschi
Mein Problem hat sich in Luft aufgelöst, nachdem ich die Kopie des Child-Themas gelöscht hatte. Wollte auf Nummer Sicher gehen und hatte daher eine manuelle Child-Theme Version und eine mit dem von dir vorgeschlagenen Plugin gemacht. Die manuelle hat funktioniert – auch auf den weitergeleiteten Seiten!
Danke!!!
Hallo Nicole,
prima, das alles so gut geklappt hat!
LG Sonia
Hallo Sonia,
zuerst einmal muss ich dir meinen Dank aussprechen – anhand deiner Anleitung konnte ich tatsächlich ein Child-Theme erstellen! Allerdings hatte ich schon eine Menge Änderungen vorgenommen, BEVOR ich die „Idee“ mit dem Child-Theme hatte. Bei meiner (klassischen) Homepage hängt noch ein Online-Shop von Woocommerce mit dran – auch hier (wie auf den anderen) wurde mittels „Customizer Import/Export“ alles übernommen.
Allerdings habe ich auf 3 Seiten ein Problem: Es handelt sich hier um Seiten, auf denen ich mit dem Plugin „Redirection“ eine Weiterleitung eingerichtet habe. Es geht um die Shop-Seite selbst, sowie jene für die Widerrufserklärung und für die Liefer- und Zahlungsbedingungen. Diese drei konnte ich nicht mit dem Elementor bearbeiten, weil das in der kostenlosen Version nicht möglich war. Daher habe ich Alias-Seiten erstellt und mit Elementor eingerichtet. Auf diese Seiten zeigt nun meine Redirection. Nun werden aber exakt diese drei Seiten im Child-Theme nicht korrekt angezeigt (unformatiert). Bis jetzt habe ich es nur in der Vorschau angesehen, weil ich Angst hatte, wenn ich das Child-theme aktiviere, dass dann alle Änderungen weg sind. Oder kann ich dann wieder problemlos auf das Parent-Theme wechseln? Hast du eine Idee?
Großartig, das hat super geklappt! Vielen Dank für die gute Anleitung. 🙂
Prima, freut mich!
Guten Morgen!
Nachdem ich gestern einer anderen Anleitung zur Erstellung eines Child-Themes gefolgt bin und diese nicht von Erfolg gekrönt war, habe ich gerade deine Anleitung gelesen und mein Child-Theme problemlos erstellen können. Dafür an dieser Stelle schon einmal vielen Dank! Das Hauptproblem der meisten Anleitungen liegt wohl darin, dass der Ersteller in vielen Fällen voraussetzt, dass der Leser den gleichen Wissensstand hat, was regulär nicht der Fall sein dürfte, denn sonst würde man solche Anleitungen ja gar nicht benötigen. Ich finde es sehr schön, dass es so viele Menschen gibt, die ihr Wissen kostenlos weitergeben und ihre Zeit opfern, um anderen Menschen zu helfen!
Hallo PowerMac,
freut mich, dass dir meine Anleitung weitergeholfen hat!
Viele Grüße
Sonia
Sehr nützlicher Beitrag, ich kannte z.B. den Customizer nicht. Danke
Gerne!
Hallo,
meine Website läuft schon seit einigen Monaten und sie läuft soweit stabil.
Ich komme nun an den Punkt, dass ich Dinge an meinem Template ändern muss. Da ich nicht möchte, dass diese bei einem Template-Update wieder verschwunden sind frage ich mich gefragt, ob es auch jetzt noch möglich ist ein Child-Theme anzulegen OHNE dass meine Website danach wieder aussieht wie vor 12 Monaten. Geht das so einfach?
Danke und liebe Grüße, Patrick
Hallo Patrick,
hast du denn schon an den Dateien des Themes etwas geändert? Oder meinst du nur die Einstellungen im Customizer?
Bevor du überhaupt loslegst, solltest du auf jeden Fall ein Backup machen. Anschließend die Dateien mit dem Customizer-Export-Plugin exportieren. Dann das Child-Theme hochladen und die Customizer-Einstellungen wieder importieren.
Falls du Templates angepasst hast, kannst du diese in den Child-Theme Ordner kopieren. Dadurch überschreiben sie dann die Templates des eigenen Themes.
Liebe Grüße,
Sonia
Hallo,
bei mir hat es leider nicht geklappt. Das Anlegen des Child Theme scheinbar schon, aber nach Export/Import hat es mein Design zerschlagen bzw. es wird nicht übernommen. Alle Einstellungen im Backend sind noch da, werden im Frontend aber nicht angezeigt.
Wahrscheinlich habe ich beim Child schon etwas falsch gemacht. Kannst du den Vorgang bei Filezilla nicht noch etwas detaillierter erklären? „Für Anfänger“? Mit was öffne ich die erstellten beiden Dateien am besten? Muss ich was zwischenspeichern? Wie hochladen? Etc.
Danke vorab
Grüße Emma
Hallo Emma,
aus der Ferne kann ich dir leider nicht sagen, wo genau der Fehler liegt. Aber wenn es mit dem Child-Theme nicht so recht klappt, kannst du auch mal bei deinem Theme-Anbieter nachschauen. Diese bieten häufig schon fertige Child-Themes zum Download an. Das kannst du dann einfach über das Dashboard installieren.
Wenn du die Dateien anpassen möchtest, nimmst du dazu einen Editor wie z.B. Notepad++. Auf keinen Fall Word.
Viele Grüße
Sonia
Hallo Sonia,
danke für den Hinweis. Ich konnte das Child-Theme herunterladen. Leider musste ich aber feststellen, dass es noch Export/Import genauso aussieht wie bei mir nach deiner Anleitung. Ich würde es dir ja zeigen, aber dann ist das Desaster für alle sichtbar.
Kann es daran liegen, dass ich ein Reset für die Demo-Inhalte gemacht habe? Aber dann sind ja sämtliche bereits von mir erstellte Inhalte weg, oder?
Emma
Guten Morgen,
ich habe ein riesen Problem mit meinem Shop. Ich habe mit einem premium Theme gearbeitet. Die Übersetzungen waren teilweise schon automatisiert und korrekt. Nun habe ich das Problem, dass ich englische Begriffe im Warenkorb und Kasse nicht anpassen kann.
Ich habe es mit „Loco Translate“ versucht. Dort sind die meisten Begriffe wie „Cart“, „Checkout“, „Payment & Delivery“ auf Deutsch hinterlegt….nur greifen Sie nicht.
Kann mir jemand bitte helfen?
Viele Grüße
Sabrina
Hallo Sabrina,
kannst du denn erkennen, woher die Begriffe stammen? Also werden sie vom Theme, Woo oder zusätzlichen Plugins generiert? In seltenen Fällen kommt es auch mal vor, dass Begriffe fest in Templates kodiert sind und sich dann nicht übersetzen lassen.
Viele Grüße
Sonia
Hallo, eine sehr hilfreiche und professionelle Anleitung!
Habe es jetzt bei meinem OceanWP Thema ausprobiert und es hat auf Anhieb funktioniert 🙂
Ich gehe davon aus, dass man das „Plugin Customizer Export/Import“ zum Schluss wieder deaktievieren oder löschen kann ?
LG Damian
Hallo Damina,
vielen Dank!
Das Plugin kannst du nach dem Import wieder löschen.
LG Sonia
Hallo Jens,
vielen Dank für den Hinweis!
Viele Grüße
Sonia
Hallo
vielen Dank für diesen tollen Artikel. Endlich kapiere ich mal weitgehendste was es mit dem Child Theme so auf sich hat 😉
Habe mir nun eins angelegt und es hat auch so geklappt wie beschrieben. Was ich aber noch nicht ganz verstehe ist, wo ich wann, was bearbeite. Arbeite ich nun grundsätzlich immer mit dem aktivierten Childtheme? Oder benutze ich weiterhin das Parent Theme und mache nur Änderungen in CSS im Style vom Child Theme?
Bin noch kompletter Anfänger auf dem Gebiet.
Noch eine andere Sache. Ich verwende das Theme Divi. Wenn ich im Customizer Einstellungen ändere (Hintergrundfarbe vom Footer oder die Schriftart im Hauptmenü) zeigt es mir die Änderung zwar im Customizer an, wenn ich aber speichere und rausgehe, ist die Änderung wieder weg. Glaube das hat aber nichts mit dem Theme zu tuen. Gehe ich wieder in den Customizer, ist die Änderung wieder da. Dachte mir, das könnte ich per CSS hinbekommen. Dafür würde ich dann das Child Theme verwenden, oder?
Danke und LG
Doris
Hallo Doris,
gerne!
Das Child Theme ist jetzt immer aktiv und alle Änderung machst du auch dort. Das Parent Theme darfst du aber auf gar keinen Fall löschen oder deaktivieren.
Bei Divi hatte ich auch schon das Problem, dass Änderungen nicht sofort sichtbar waren. Meistens hat es geholfen, den Browser Cache zu leeren.
LG
Sonia
Hallo,
wenn ich alle Anpassungen über den Customizer vornehme, ist es dann auch ratsam, ein Child Theme zu erstellen? Oder anders ausgedrückt: Gehen all diese Anpassungen auch verloren, wenn ich mein Theme update?
Danke und LG!
Hallo Marina,
die Anpassungen im Customizer gehen beim Theme-Update nicht verloren. Du brauchst dafür also nicht extra ein Child Theme anlegen.
LG Sonia
Vielen Dank! 5 Sterne ✔ 1A beschrieben. Ich suche das jedes Mal aufs Neue.
Sehr gut beschrieben. Vielen Dank!
Ich habe nach deiner Anleitung ein Child Theme erstellt, allerdings wird in der Theme-Übersicht jetzt eine Fehlermeldung angezeigt: „Fehlendes Template. Eigenständige Themes müssen über eine index.php Datei verfügen. Für Child-Themes muss ein Template-Header in der style.css angelegt werden.“
Weißt du, was darunter zu verstehen ist?
Hallo Ron,
könnte mir vorstellen, dass der Verweis zum Parent-Theme nicht ganz stimmt. Welches Haupt-Theme nutzt Du denn?
VG Sonia
Hallo,
bei mir taucht der gleiche Fehler auf. Ich habe style.css wie folgt angepasst:
/*
Theme Name: Twenty Thirteen Child
Description: Mein Child Theme
Author: Peter
Author URI: meinedomain.de
Template: twentythirteen
Version: 1.0
Text Domain: twenty-thirteen-child
*/
Was mache ich falsch? 🙂 Vielen Dank.
VG
Peter
Hallo Peter,
deinen Code habe ich gerade getestet und bei mir hat das ohne Fehlermeldung funktioniert. Hast du denn noch weitere Anpassungen gemacht? Vielleicht in der functions.php? Und ist das Haupt-Theme installiert?
VG Sonia
Vielen Dank für die super schnelle Antwort. Ich habe zunächst sowohl die functions.php als auch die style.css aus dem Ordner des Haupttheme via filezilla heruntergeladen. Jeweils alles markiert und gelöscht und dann oben in dem Artikel jeweils den Button Copy gedrückt und eingefügt. Bei der style.css habe ich die Änderungen vorgenommen. An der functions gar keine Änderungen.
Ich habe dann einen Ordner twentythirteen-child im Ordner themes angelegt und dort die beiden Dateien wieder mit filezilla hochgeladen. Leider zeigt er mir im Dashboard nun das Child-Theme als Beschädigtes Theme an.
Das Haupttheme habe ich installiert und bereits aktiviert.
Auf WordPress habe ich auch schonmal nachgesehen:
https://developer.wordpress.org/themes/advanced-topics/child-themes/
Dort wird für die functions.php eine unterschiedliche Herangehensweise vorgeschlagen, je nach Theme.
VG
Peter
Hallo Peter,
vermutlich liegt das Problem in der functions.php, denn hier sollte nicht der Code des Parent-Themes eingefügt werden. Für das Child-Theme kannst du einfach den Code aus diesem Tutorial übernehmen.
Viele Grüße
Sonia
Hallo Sonia,
bei der functions.php habe ich genau deinen Code übernommen. Ich habe die Datei aus dem Haupttheme nur heruntergeladen, alles gelöscht und dann dein Code eingefügt.
Kann es sein, dass ich für bestimmte Ordner andere Berechtigungen vergeben muss? Das ist mir gestern bei dem Hochladen von Medien aufgefallen. Dann habe ich bei dem Uploads Ordner 777 vergeben.
VG
Peter
Hallo Peter,
leider kann ich so aus der Ferne nicht genau sagen, wo der Fehler liegt. Könnte schon ein kleiner Syntax-Fehler oder eine falsche Zeichencodierung sein. Hast du mal gegoogelt, ob es zu dem Theme ein Child-Theme zum Download gibt? Bei der Dateiberechtigung muss man normalerweise nichts anpassen.
VG Sonia
Vielen Dank für den Tipp. Ich habe eine Seite gefunden.
Ich habe mich für Variante 2 entschieden.
Allerdings ist die functions.php so viel anders, dass ich etwas irritiert bin. Passt das so? Oder welche Nachteile gibt es mit dieser „leeren“ Datei?
VG
Peter
Hallo Peter,
wenn’s funktioniert ist doch alles prima!
LG Sonia
Hallo, ich bin immer noch im Localhost und habe kein Onlinespeicher. Auf dem Computer habe ich die Zips. Wo kann ich den Ordner für Child anlegen? Bitte bin ein Dummie (Jahrgang 1940)
Hallo George,
den Ordner für das Child Theme musst Du im Ordner wp-content/themes/ anlegen.
Viele Grüße
Sonia
Hey,
diese Beschreibung ist sehr gut. Mein Theme arbeitet.
Leider wenn ich versuche andere functionen oder Filter versuche zu zufügen geht es schief.
Wo und wie muss ich ich im functions.php weitere Snippetes zu fügen
Hallo,
weitere Funktionen und Filter kannst Du einfach wie unter Punkt 3 beschrieben einfügen. Wenn etwas schief läuft, liegt es vielleicht an dem entsprechenden Snippet.
VG Sonia
Auch von mir vielen Dank für die gute Anleitung!
Meine Frage zur functions.php:
Ich habe die funkctons.php des Parent-Themes bereits ergänzt und stellenweise geändert.
1. Deine Antwort an M. Gaida sagt mir, dass ich die Ergänzungen in die functions.php des Child-Themes schreiben muss. Richtig?
2. Wenn ich aber Teile der Original functions.php geändert habe: Reicht es dann, den betreffenden Code-Abschnitt in der functions.php des Child-Themes zu wiederholen? Z. B. habe ich den Bereich „function bizgrowth_widgets_init()“ ergänzt. Hier würde ich den gesamten Code inklusive meiner Ergänzungen in die functions.php des Child-Themes übernehmen. WordPress wird also „function bizgrowth_widgets_init()“ sowohl im Parent-Theme als auch in meinem Child-Theme finden. Welche Version nimmt WordPress am Ende?
3. Und wie kann ich Zeilen oder ganze Code-Bereiche löschen bzw. unterdrücken, die in der functions.php des Parent-Themes stehen? Z. B. möchte ich diese Zeile „wp_enqueue_style( ‚font-awesome-style‘, get_template_directory_uri().“/css/font-awesome.css“ );“ löschen bzw. auskommentieren.
Grüße
Sabine
Hallo Sabine,
deine Anpassungen musst du in die functions.php des Child-Themes schreiben. Wenn du eine bestehende Funktion des Parent-Themes ändern oder überschreiben willst, musst diese eventuell erst deaktivieren und dann eine neue Funktion schreiben. Wenn du eine Funktion doppelt einfügst, kommt es sonst zu Fehlern.
Zu Punkt 3: hier kannst du im Child-Theme die Funktion mit wp_dequeue_style deaktivieren.
Viele Grüße
Sonia
Tolle Anleitung, ich werde es mal testen. Ich bin noch ziemlich neu in der Website-Welt und mir war das mit dem Child Theme gar nicht so bewusst, dass man dort alle möglichen Änderungen für das Aussehen einer Seite macht. Daher hab ich noch 1-2 Fragen, wenn das ok ist.
1. Ich habe die Website komplett im Parent Theme via Drag & Drop (also ohne Codierung) zusammengestellt (Theme: Massive Dynamic). Ich habe nur 1x ein Child Theme erstellt, um dort die Google Fonts Einstellungen einzurichten. Danach hab ich wieder im Parent Theme gearbeitet, dies ist auch aktiv. Die Frage ist nun, wie kann ich die Änderungen, die ich seitdem im Parten Theme gemacht habe, ins Child Theme übertragen? Geht das mit dem Import & Export über das oben genannte Plugin?
2. Wenn ich nun eine neue Webseite kreiere (für einen anderen Kunden), und von Beginn an Parent & Child Theme erstellt hab. Muss ich dann durchgehen im Child Theme arbeiten und dies auch immer aktiv haben? Das ist mir noch nicht so ganz klar. Sorry, blutiger Anfänger 🙁
Hallo Dayana,
vielen Dank!
Anpassungen solltest du immer nur im Child-Theme machen, denn dazu ist es ja da. Und natürlich muss es immer aktiv sein, sonst wird das Parent-Theme angezeigt.
Wenn du die Anpassungen aus dem Customizer vom Parent- zum Child-Theme übertragen willst, kannst du das Plugin dazu nutzen.
Viele Grüße
Sonia
Danke für die Anleitung!
Kann ich auch die CSS-Anweisungen bpsw. eines Plugins mit einem Child CSS überschreiben? Wie muss ich in diesem Fall vorgehen?
Gerne!
Wenn Du nur ein paar Styles eines Plugins überschreiben willst, musst Du nicht unbedingt extra ein Child-Theme anlegen. Du könntest das CSS einfach im Customizer platzieren.
VG Sonia
Hallo Webtimiser, schöner Artikel!
Nun hat es auch bei mir mit der Child Theme geklappt :).
Weißt du denn wie ich die Header Höhe vom Theme „hemingway“ ändern kann?
In functions.php habe ich folgende Werte geändert, jedoch ohne Erfolg:
// Custom header
$args = array(
‚width‘ => 1280,
‚height‘ => 416
Vielen Dank
Gruß Tina
Hallo Tina,
ich würde es über eine CSS-Anpassung versuchen:
.header-cover {height:200px;}
Viele Grüße
Sonia
Hey! Hab ebenfalls ein Child Theme erstellt, funktioniert auch sehr gut. Vielen Dank!
Warum muss hier in der functions das PHP Tag eigentlich nicht geschlossen werde, bzw. führt das bei mir zu einer Fehlermeldung …
Hallo Lena,
sorry, mein Fehler! Habe das fehlende End-Tag ergänzt. Vielen Dank!
VG Sonia
Vielen Dank für die ausführliche Erläuterung, damit konnte ich endlich ein Child-Theme erfolgreich anlegen. Nur wegen CSS-Anpassungen wäre es nicht erforderlich gewesen, da ist der „Customizer“ sehr viel einfacher zu bedienen, zumal man die Ergebnisse sofort sieht – diese Vorteil geht mit Child-Theme leider verloren. Aber ich musste eine loop.php anpassen, da ich nur die Titelzeile angezeigt haben wollte. Leider funktioniert das Child-Theme mit php nur dann, wenn auch die CSS-Datei eingerichtet ist.
Oder kennt jemand einen Trick neben dem Child-Theme auch noch den Customizer zu nutzen?
Vielen Dank,
Werner
Liebes Webtimiser-Team,
vielen Dank für euren hilfreichen Artikel, jetzt sind wir schon einmal um einiges schlauer. Ich habe jedoch ein Anliegen:
Wir haben unsere Firmenwebseite neu erstellen lassen, jedoch keine ausführliche Erklärung hierzu erhalten (leider!). Wir können nur annehmen, dass das Theme individuell für uns angepasst wurde. Frage: Kann ich das irgendwo einsehen? Wir möchten nämlich das Design noch ein wenig weiter anpassen und dafür würde ich gerne ein Child-Theme nach dieser Anleitung verwenden.
Und noch eine Frage: Wenn ich das Design im WordPress-Customizer anpasse, bleiben diese Änderungen dann beim nächsten Theme-Update erhalten? (Bei bisherigen Updates blieb das Design unverändert, so wie gewünscht.)
Ich bin noch Anfänger auf diesem Gebiet und freue mich über eure Hilfe. Vielen Dank.
Schöne Grüße
Heike
Hallo Heike,
Eure Seite nutzt das Theme Enfold ohne Child Theme. Genauere Infos findest du unter Design > Themes. Vermutlich sind die individuellen Anpassungen in den Theme-Einstellungen oder im Customizer zu finden. Ob noch mehr und was genau geändert wurde, müsste die Web-Agentur sagen können.
Anpassungen im Customizer bleiben bei Updates bestehen.
LG Sonia
Hallo Sonia,
schönen Dank für die schnelle Antwort, damit ist uns bereits geholfen!
LG Heike
Hallo Webtimiser-Team,
eine sehr gute Anleitung, habe sie lange nicht so detailliert und anschaulich gefunden. Vielen Dank, Sie ist eine umfassende Hilfe.
Aber! Ich wollte voller Hoffnung das Plugin „Child Theme Check“ herunterladen. Es wird jedoch seit 1 jahr nicht mehr gepflegt und ist somit in veraltetem Zustand, also ak t u e l l m. E. keine Empfehlung wert! . Sehr schade! Es könnte eine große Entwickler-Hilfe werden.
Dankbare Grüße
christa
Hi Christa,
schau dir mal das „Child Theme Configurator“ Plugin an. Funktioniert super
und wurde auch erst letzten Monat aktualisiert.
Gruß Tobi
Hallo Tobi,
vielen Dank für den Tipps, werde den Beitrag um ihn ergänzen!
LG Sonia
Hallo Webtimiser-Team,
es ist wahrscheinlich ein Anfängerfehler … kann aber leider keine Dokus im Netz finden … und hoffe, Du kannst mir weiterhelfen:
Ich habe in einem Theme einige Einstellungen über den „internen“ Customizer angepasst, alles prima. Nun komme ich in die Phase, in der ich ein Child-Theme anlegen möchte. Auch dies hat alles geklappt. Außer:
Viele Einstellungen sind weg (Logo, Menüanpassungen, Footer-Anpassungen, …).
Kann ich diese irgendwie aus dem Backup importieren/wiederherstellen?
Heißt das für zukünftig: Immer zuerst ein Child-Theme anlegen und dann das Theme mit seinen Einstellungen testen?
Danke Dir/Euch sehr für Eure Hilfe!
LG Su
Hallo Su,
leider gehen die Einstellungen beim Wechsel auf das Child Theme verloren. Aber mit einem Plugin kannst Du die Änderungen exportieren und dann ins Child Theme importieren. Habe gerade die Anleitung um Punkt 6. Anpassungen aus dem Parent Theme übernehmen ergänzt.
LG Sonia
Liebe Sonia,
Danke, Danke, Danke: Hat perfekt geklappt!
Alles Gute für 2017,
LG Su
Freut mich! Dir auch alles Gute!
LG Sonia
Hallo!
Ist es auch möglich ein Child Theme im Nachhinein anzulegen? Habe die css Datei und etliche php Dateien schon angepasst.
Geht es, wenn ich die ganzen Dateien in einen neuen Ordner lege und das ursprüngliche Theme einfach nochmal hochlade, so wie es ursprünglich war?
Würde zur Sicherheit vorher ein Backup des Themes erstellen oder es einfach umbenennen (Theme_alt). Dann die angepassten Template-Dateien und die Style-Datei in einen neuen Ordner (Child-Theme) verschieben und natürlich noch die aktuelle Version des Original-Themes hochladen.