Arbeiten mit Childthemes

26
@kirstenschelper

Transcript of Arbeiten mit Childthemes

Page 1: Arbeiten mit Childthemes

@kirstenschelper

Page 2: Arbeiten mit Childthemes

Childthemes

Page 3: Arbeiten mit Childthemes

Kirsten Schelper

www.schelperdesign.net · www.die-netzialisten.de

@kirstenschelper

Page 4: Arbeiten mit Childthemes

@kirstenschelper

Was ist ein Childtheme?

Page 5: Arbeiten mit Childthemes

?

Page 6: Arbeiten mit Childthemes

– WordPress Codex

„Ein Childtheme ist ein Theme, das Funktionalität und Design von

einem anderen Theme erbt, dem sogenannten Parent-Theme.

Der Weg über Childthemes wird für Anpassungen von Themes

empfohlen.“

Page 7: Arbeiten mit Childthemes

@kirstenschelper

1. Man kann das Design anpassen (style.css)

2. Man kann Funktionen ergänzen (z.B. zusätzliche Menüs oder Widget-Bereiche)

3. Updates vom Parent-Theme können problemlos durchgeführt werden (Childtheme beilbt davon unberührt)

4. Alle Änderungen bleiben übersichtlich, weil im Childtheme-Ordner nur wenige Dateien mit wenigen Zeilen Code liegen

Vorteile Childtheme

Page 8: Arbeiten mit Childthemes

@kirstenschelper

1. Wenn man die Anpassungen, die man braucht, auch über den Customizer machen kann

2. Wenn man eine Eierlegend Wollmichsau (Divi, Enfold etc.) gekauft hat

Wann braucht man kein Childtheme?

Page 9: Arbeiten mit Childthemes

@kirstenschelper

Wie macht man einChildtheme?

Page 10: Arbeiten mit Childthemes

@kirstenschelper

Childtheme anlegen

1. Verzeichnis anlegen

2. style.css anlegen

Fertig

Page 11: Arbeiten mit Childthemes

@kirstenschelper

Woraus besteht ein Childtheme?

• style.css • functions.php

• screenshot.png

• [header.php, single.php, archive.php…]

Page 12: Arbeiten mit Childthemes

@kirstenschelper

style.css

Page 13: Arbeiten mit Childthemes

@kirstenschelper

Die style.css braucht einen header

Theme Name: Twentyfifteen ChildDescription: Ein schönes ChildthemeAuthor: Kirsten SchelperAuthor URI: http://www.schelperdesign.netTemplate: twentyfifteenVersion: 1.0Tags: lightText Domain: twentyfifteen-child*/

Page 14: Arbeiten mit Childthemes

Demo

Page 15: Arbeiten mit Childthemes

@kirstenschelper

Parent-Styles einbinden (1)

Theme Name: Twentyfifteen ChildDescription: Ein schönes ChildthemeAuthor: Kirsten SchelperAuthor URI: http://www.schelperdesign.netTemplate: twentyfifteenVersion: 1.0Tags: light*/

@import url(../twentyfifteen/style.css);

Page 16: Arbeiten mit Childthemes

@kirstenschelper

Parent-Styles einbinden (2)

function theme_enqueue_styles() {wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );

}add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );

= style.css vom Parent Theme laden (functions.php Childtheme wird zuerst geladen)

Page 17: Arbeiten mit Childthemes

@kirstenschelper

Warum nicht @import?

@import

• schlechte Performance

• hart gecodet = unmodern und unflexibel

enqueue • gute Performance

• per functions.php steuerbar: – Plugins, die Scripte und CSS zusammenfassen – Reihenfolge mehrere CSS-Dateien

Page 18: Arbeiten mit Childthemes

@kirstenschelper

Parent-Styles einbinden (3)wp_deregister_style( 'twentyfifteen-style');wp_register_style('twentyfifteen-style',

get_template_directory_uri(). '/style.css');wp_enqueue_style('twentyfifteen-style', get_template_directory_uri(). '/style.css');

wp_enqueue_style( 'childtheme-style', get_stylesheet_directory_uri().'/style.css', array('twentyfifteen-style') );}add_action( 'wp_enqueue_scripts', 'twentyfifteen_child_styles' );

Page 19: Arbeiten mit Childthemes

@kirstenschelper

Childtheme bitte beachten

Page 20: Arbeiten mit Childthemes

@kirstenschelper

Childtheme und Theme-Updates

• style.css + functions.php = sichere Sache

• header.php, single.php, archive.php …

Was passiert, wenn diese Dateien im Eltern-Theme ein Update bekommen?

Page 21: Arbeiten mit Childthemes

@kirstenschelper

Templates und Updates

• Templates, die vom Childtheme überschrieben werden, werden beim Update des Parent-Themes NICHT aktualisiert

• Sicherheitslücken im Theme, die der Autor durch ein Update behoben hat, können so im Childtheme weiterleben

Achtung

Page 22: Arbeiten mit Childthemes

@kirstenschelper

Die gute Nachricht: Da gibt’s ein Plugin für!

Page 23: Arbeiten mit Childthemes

@kirstenschelper

Plugin „Child Theme Check“ (1)

https://wordpress.org/plugins/child-theme-check/

Page 24: Arbeiten mit Childthemes

@kirstenschelper

Plugin „Child Theme Check“ (2)

Page 25: Arbeiten mit Childthemes

@kirstenschelper

Childtheme Tipps• Plugin „Child Theme Check“ installieren,

Funktionen regelmäßig überprüfen (ab und zu mal wp_debug aktivieren)

• get_stylesheet_directory (statt get_template_directory)

• im Parent Theme nach! function_exists suchen, macht Funktionen einfach überschreibbar

• (…)

Page 26: Arbeiten mit Childthemes

@kirstenschelper

Childtheme Fragen!