Childthemes 2

28
@pixolin MeetUp Köln Themes ändern, aber richtig Child Themes & Template Hierarchy © Monica Holli/ickr/CC BY

description

WordPress Child Themes, deutsch/German WordPress Meetup Köln Presentation is © pixolin CC BY.

Transcript of Childthemes 2

Page 1: Childthemes 2

@pixolin

MeetUp Köln

Themes ändern, aber richtigChild Themes & Template Hierarchy

© Monica Holli/flickr/CC BY

Page 2: Childthemes 2

@pixolin

MeetUp Köln

Das Theme gefällt mir soweit ganz gut, aaaber …

Wie werde ich "Dieser Beitrag wurde unter Allgemein abgelegt am 16. Juni, 2014." wieder los?

Und wie ändere ich die Schriftart?

Page 3: Childthemes 2

@pixolin

MeetUp Köln

Bitte nicht …Theme direkt ändern: • wird bei Update

überschrieben • Änderungen/Original

sind schlecht auseinanderzuhalten

Page 4: Childthemes 2

@pixolin

MeetUp Köln

Bitte nicht …Design > Editor verwenden: • Macht unter Umständen

die Website unbrauchbar! Beispiel: "White Screen of Death" bei function bla( {}

da fehlt was

Page 5: Childthemes 2

@pixolin

MeetUp Köln

Child Themes

@pixolin

Page 6: Childthemes 2

@pixolin

MeetUp Köln

Child Theme, DefinitionEin WordPress Child Theme ist ein Theme, das die Funktionalität eines anderen Themes, des so genannten Parent Themes, erbt.

Child Themes sind Ergänzungen, bzw. Ersetzungen des Parent Themes. Sie sind ohne Parent Theme nicht verwendbar.

Page 7: Childthemes 2

@pixolin

MeetUp Köln

Bitte nicht …Komplettes Parent Theme oder komplette style.css kopieren

Das Child Theme soll das Parent Theme ergänzen!

(aber: Templates kopieren ist erlaubt.)

Page 8: Childthemes 2

@pixolin

MeetUp Köln

Woraus besteht ein Child Theme mindestens?

header.php index.php style.css

mit Template Header und Verweis auf Parent Theme!

Page 9: Childthemes 2

@pixolin

MeetUp Köln

Template Header/* Theme Name: Twenty Fourteen Child Theme URI: http://example.com/twenty-fourteen-child/ Description: Twenty Fourteen Child Theme Author: John Doe Author URI: http://example.com Template: twentyfourteen Version: 1.0.0 Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready Text Domain: twenty-fourteen-child */ !@import url("../twentyfourteen/style.css"); !/* =Theme customization starts here -------------------------------------------------------------- */

Page 10: Childthemes 2

@pixolin

MeetUp Köln

Template Header (mindestens!)/* Theme Name: WP Meetup Köln Template: twentytwelve */ !

@import url("../twentytwelve/style.css"); !

/* =Theme customization starts here -------------------------------- */

Page 11: Childthemes 2

@pixolin

MeetUp Köln

Cascading Style Sheets heißen so, weil sie in einer verschachtelten HTML-Struktur eine Style-Regel so lange vererben, bis der Wert durch eine andere Regel überschrieben wird.

Page 12: Childthemes 2

@pixolin

MeetUp Köln

<html> <head> </head> <body> <h1></h1> <p></p> <p><span class="wichtig"></span></p> </body> </html>

"Cascades" © Darren Johnson/flickr/CC BY

Page 13: Childthemes 2

@pixolin

MeetUp Köln

body { color: #333; } gilt für alle nachfolgenden Selektoren, sofern keine spezifischere Regel greift

.wichtig { color: #d12525; }

Page 14: Childthemes 2

@pixolin

MeetUp Köln

Wiederholen sich Regeln, überschreibt das zuletzt geladene Style Sheet die vorherigen<link rel="stylesheet" type="text/css" href="reset.css"> <link rel="stylesheet" type="text/css" href="style.css"> <link rel="stylesheet" type="text/css" href="mein-style.css">

Page 15: Childthemes 2

@pixolin

MeetUp Köln

Template Header/* Theme Name: WP Meetup Köln Template: twentytwelve */ !@import url("../twentytwelve/style.css"); !/* Google Web Font Dancing Script */ @import url(http://fonts.googleapis.com/css?family=Dancing+Script); !.site-header h1 a { font-family: 'Dancing Script', cursive; }

Page 16: Childthemes 2

@pixolin

MeetUp Köln

Template HierarchyWordPress versucht immer, das "am besten geeignete" Template zu verwenden. Beispiel: Kategorie "Hobbits"

category.php ?

archive.php ?

index.php!

category-hobbits.php

?

Page 17: Childthemes 2

@pixolin

MeetUp Köln

http://codex.wordpress.org/Template_Hierarchy

Page 18: Childthemes 2

@pixolin

MeetUp Köln

http://codex.wordpress.org/Template_Hierarchy

Page 19: Childthemes 2

@pixolin

MeetUp Köln

Page 20: Childthemes 2

@pixolin

MeetUp Köln

front-page.phpUnter Einstellungen > Lesen kann man festlegen, was als Startseite angezeigt wird.

Statische Seite ➛ front-page.php Blogseite ➛ home.php

Existiert das Template nicht, kann man es anlegen!

Page 21: Childthemes 2

@pixolin

MeetUp Köln

Templates ändern?• Mit Plugin (z.B. "What The File")

nachschauen, welches Template für die Anzeige verwendet wird.

• Template kopieren, nach Text suchen und HTML editieren.

• Wird der Text mit einer theme-eigenen Funktion erzeugt/verändert?

Page 22: Childthemes 2

@pixolin

MeetUp Köln

Fatal error

Petit Grenouille, © webhamster/Flickr/CC BY

Page 23: Childthemes 2

@pixolin

MeetUp Köln

PHP erlaubt nicht, zuvor deklarierte Funktionen neu zu definieren oder die Definition zu löschen.

Page 24: Childthemes 2

@pixolin

MeetUp Köln

Fatal errorKopieren der komplettenfunctions.php führt häufig zu einem Fatale error, weil (mindestens) ein Funktionsname doppelt vorkommt.

Page 25: Childthemes 2

@pixolin

MeetUp Köln

Fatal error: Lösung 1Das Parent Theme ist darauf vorbereitet und verwendet

if( ! function_exists(…) )bzw.

if( ! isset(…) )

Page 26: Childthemes 2

@pixolin

MeetUp Köln

Fatal error: Lösung 2Funktionen werden in WordPress Schnittstellen hinzugefügt

add_action('hook', 'function');

und lassen sich genauso auch wieder entfernen

remove_action('hook', 'function');

anschließend eigene Funktion hinzufügen

add_action( 'hook', 'myfunction' );

Page 27: Childthemes 2

@pixolin

MeetUp Köln

Page 28: Childthemes 2

@pixolin

MeetUp Köln

Happy Child Theming!Two children playing with a seated older man. © Boston Public Library/Flickr/CC BY

MG! Heute