{"id":611,"date":"2024-02-18T19:55:00","date_gmt":"2024-02-18T18:55:00","guid":{"rendered":"https:\/\/bsod.wtf\/?post_type=guide&p=611"},"modified":"2024-03-10T18:29:49","modified_gmt":"2024-03-10T17:29:49","slug":"wordpress-child-theme-ohne-plugin","status":"publish","type":"guide","link":"https:\/\/bsod.wtf\/guide\/wordpress-child-theme-ohne-plugin\/","title":{"rendered":"WordPress: Child Theme erstellen (ohne Plugin)"},"content":{"rendered":"\n
Wenn du WordPress verwendest, ist auch mindestens ein Theme installiert. Sei es ein Standard-Theme oder ein individuelles. M\u00f6glicherweise m\u00f6chtest du etwas \u00e4ndern, was keiner der Editoren zu leisten imstande ist?<\/p>\n\n\n\n
Die L\u00f6sung? Dateien einfach editieren? Das ist hier nicht 2002! WordPress unterst\u00fctzt neben (automatischen) Updates f\u00fcr Plugins auch (auf Wunsch automatische) Updates f\u00fcr Themes \u2013 und davon solltest du dringend Gebrauch machen! Denn ein Theme ist l\u00e4ngst nicht mehr (oder besser gesagt: war f\u00fcr WordPress noch nie) nur ein Stylesheet. Es ist Programmcode und der kann mithin ein Update ben\u00f6tigen. Zum Gl\u00fcck hat WordPress daf\u00fcr eine L\u00f6sung.<\/p>\n\n\n\n
Die L\u00f6sung hei\u00dft Child Theme. Du erstellst gewisserma\u00dfen ein neues, leeres Theme, das aber auf einem vorhandenen basiert. Die Idee hinter dem Konzept ist, dass sich das System alle ben\u00f6tigten Dateien von dort holt, wo sie zur Verf\u00fcgung stehen, bevorzugt vom Child-Theme.<\/p>\n\n\n\n
Was bedeutet das? Angenommen, dein Theme hat eine Datei Ein kleines Wort der Warnung aus der Erfahrung heraus: Du solltest das Child Theme erstellen, sobald du ein neues Theme verwenden m\u00f6chtest. W\u00e4hrend GeneratePress netterweise alle Einstellungen, die \u00fcber den Customizer von WordPress vorgenommen wurden, \u00fcbernimmt, habe ich es schon erlebt, dass bestimmte Elemente zur\u00fcck auf ihre Standardwerte gefallen sind. Damit du deine Anpassungen nicht doppelt vornehmen musst, solltest du also direkt mit dem Child Theme starten.<\/p>\n\n\n\n Wenn du durch das Internet streifst, auf der Suche danach, wie ein Child Theme erstellt werden kann, wirst du eine Menge Anleitungen finden, die dich auf ein Plugin verweisen. Dagegen ist im Grunde nichts zu sagen, doch ist es f\u00fcr eine derlei simple Aufgabe nicht notwendig, auf ein Plugin zur\u00fcckzugreifen, das dann wahrscheinlich noch viel mehr tut, als du eigentlich ben\u00f6tigst und damit das System belastet. Deshalb machen wir es wie echte Nerds. N\u00e4mlich selber.<\/p>\n\n\n\n Angenommen, du verwendest das Theme GeneratePress. Dann befindet sich im Ordner In deinem Theme-Ordner erstellst du einen neuen Ordner, beispielsweise Du kannst auch die Kommentare aus der Das war es prinzipiell schon! Du kannst die neue Okay, nicht ganz. Im Fall von GeneratePress ist es so, dass die Eingangs haben wir festgehalten, dass eine Vererbung stattfindet. Dateien, die im Child existieren, werden bei Bedarf geladen, andernfalls im Parent. Das gilt nicht<\/strong> f\u00fcr eine Wenn du nun Code modifizieren m\u00f6chtest, nimmst du die Datei aus dem Parent-Ordner und kopierst sie genau dorthin in deinen Child-Ordner. Du musst gegebenenfalls die Ordner-Struktur nachbilden. Dort kannst du die Datei dann nach deinen W\u00fcnschen anpassen.<\/p>\n\n\n\n Wenn das Parent-Theme ein Update erh\u00e4lt, kann es passieren, dass eine Datei in deinem Child nicht mehr kompatibel ist. Das w\u00fcrdest du daran merken, dass bestimmte Sachen nicht mehr richtig funktionieren oder deine Webseite gar komplett unerreichbar ist. In dem Fall hilft es, wenn du die fragliche Datei (siehe Fehlermeldung) mit der (neuen) originalen \u00fcberschreibst und deine \u00c4nderungen erneut vornimmst. In der Praxis sollte das aber relativ selten passieren.<\/p>\n\n\n\n Wenn du dich noch nie mit dem Thema befasst hast, ist ein Blick in die Entwickler-Dokumentation von WordPress empfehlenswert<\/a>. Dort findest du noch weitere Aspekte zum Thema Child Theme und wie das System funktioniert.<\/p>\n","protected":false},"excerpt":{"rendered":" Wenn du WordPress verwendest, ist auch mindestens ein Theme installiert. Sei es ein Standard-Theme oder ein individuelles. M\u00f6glicherweise m\u00f6chtest du etwas \u00e4ndern, was keiner der Editoren zu leisten imstande ist? Die L\u00f6sung? Dateien einfach editieren? Das ist hier nicht 2002! WordPress unterst\u00fctzt neben (automatischen) Updates f\u00fcr Plugins auch (auf Wunsch automatische) Updates f\u00fcr Themes \u2013 und … Weiterlesen …<\/a><\/p>\n","protected":false},"author":1,"featured_media":628,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"tags":[22],"guide-category":[20,21],"class_list":["post-611","guide","type-guide","status-publish","has-post-thumbnail","hentry","tag-wordpress","guide-category-programmierung","guide-category-wordpress"],"acf":[],"yoast_head":"\nheader.php<\/code>, die den Code f\u00fcr den Kopfbereich deiner Webseite definiert. Existiert sie ebenfalls in deinem Child-Theme, wird sie von dort geladen. Andernfalls vom Eltern-Theme, also vom Parent.<\/p>\n\n\n\n
Child Theme: Am besten zu Beginn<\/h2>\n\n\n\n
Child Theme ohne Plugin<\/h2>\n\n\n\n
Wie kann ich ein Child Theme erstellen?<\/h2>\n\n\n\n
wp-content\/themes\/<\/code> ein Ordner namens
generatepress<\/code>, in dem besagtes Theme gespeichert ist. Darunter ist eine Datei
style.css<\/code>, die du in einem Editor \u00f6ffnest. Sie beginnt mit einer Reihe von Kommentaren. Diese sind wichtig f\u00fcr WordPress, um das Theme und dessen Eigenheiten besser einordnen zu k\u00f6nnen. Du solltest die Kommentare am besten kopieren.<\/p>\n\n\n\n
myawesometheme<\/code>. Du solltest nun also mindestens zwei Ordner sehen,
generatepress<\/code> und
myawesometheme<\/code>. In letzterem erstellst du eine neue Datei
style.css<\/code>. Sie muss mindestens den folgenden Inhalt haben:<\/p>\n\n\n
\n\/*\nTheme Name: NAME DEINES THEMES\nTemplate: NAME-DES-PARENT-ORDNERS\n*\/\n<\/pre><\/div>\n\n\n
style.css<\/code> des Parents kopieren und entsprechend anpassen. Beachte aber, dass wir eine neue Zeile ben\u00f6tigen:
Template: NAME-DES-PARENT-ORDNERS<\/code><\/p>\n\n\n\n
NAME-DES-PARENT-ORDNERS<\/code> ersetzt du hierbei durch den Ordnernamen des Parent-Themes, also beispielsweise
generatepress<\/code>.<\/p>\n\n\n\n
Speichern, hochladen, aktivieren<\/h2>\n\n\n\n
style.css<\/code> jetzt in deinen<\/em> Theme-Ordner hochladen. Im WP-Admin suchst du Design > Themes<\/strong> auf und aktivierst dein Child-Theme. Den Parent, also das Original, darfst du nat\u00fcrlich nicht l\u00f6schen.<\/p>\n\n\n\n
style.css<\/code> au\u00dfer den von WordPress ben\u00f6tigten Informationen keinen tats\u00e4chlichen Code enth\u00e4lt. Das kann in deinem Theme anders sein. Falls es so ist, solltest du die
style.css<\/code> des Parents mit laden. Das geht relativ einfach mit dem
@import<\/code>-Befehl. Deine
style.css<\/code> im Child k\u00f6nnte dann insgesamt so aussehen:<\/p>\n\n\n
\n\/*\nTheme Name: My Awesome (Child) Theme\nAuthor: John Doe\nDescription: Child theme for my website. Parent is GeneratePress.\nTemplate: generatepress\n*\/\n\n@import url('..\/generatepress\/style.css');\n<\/pre><\/div>\n\n\n
Besonderheiten beim Child-Theme<\/h2>\n\n\n\n
functions.php<\/code>. Falls eine existiert, wird sowohl jene im Child als auch die im Parent geladen.<\/p>\n\n\n\n
Vorsicht bei Updates<\/h2>\n\n\n\n
Weitere Informationen bei WordPress<\/h2>\n\n\n\n