Mit WordPress 3.0 kam das neue Standard-Design Twenty Ten und löste das seit langer Zeit als Standard-Design genutzte und dadurch weit verbreitete Kubrick-Theme ab.
Twenty Ten ist nun also WordPress-mäßig auf dem aktuellen Stand der Entwicklung und bietet viele tolle Dinge, die dem Webmaster das verwalten seines Blogs vereinfachen (so zum Beispiel übers Backend und pro Artikel wechselbare Headergrafiken, wechselbare Hintergrundgrafiken, die neue Menü-Funktion u.v.m.).
Aus diesem Grund bietet es sich ja an, Twenty Ten an die eigenen Bedürfnisse anzupassen und so im eigenen Theme die gewünschten Funktionen auch zur Verfügung zu haben.
Da es durchaus sein kann, dass ein Theme wie Twenty Ten nach und nach aktualisiert wird und immer weiter angepasst und verbessert wird, ist es denkbar schlecht, Änderungen und Anpassungen im Quelltext von Twenty Ten vorzunehmen: Nach jedem Update des Themes wären diese verloren und müssten von Hand wieder eingebaut werden.
Aus diesem Grund (auch) gibt es in WordPress die Möglichkeit, Child Themes anzulegen. Ein Child-Theme benötigt lediglich eine style.css, die auf die Templates des übergeordneten Themes (Parent Theme) verweist. Dadurch werden alle Dateien des Parent Themes genutzt. Diese Dateien lassen sich dann mit gleichnamigen Dateien im Child Theme überschreiben.
Beispiel:
Man möchte im Großen und Ganzen das Twenty Ten Theme benutzen, aber einige Änderungen in der Header-Date und der Footer-Datei vornehmen.
Man legt das Child Theme mit eigenem Ordner und eigener style.css an (wie die aussehen muss, erkläre ich weiter unten) und kopiert sich die header.php und die footer.php in den Ordner des neuen Child Theme. Dieses Child Theme nutzt nun alle Dateien von Twenty Ten, nur eben header.php und footer.php aus dem eigenen Ordner. Diese Dateien werden nun nach Wunsch editiert.
Schon ist es fertig, das eigene Child Theme von Twenty Ten, es kann haargenau so genutzt werden, wie das eigentliche Parent Theme.
Zur Beachtung:
Die Template-Dateien wie header.php, index.php usw. werden von gleichnamigen Dateien im Child Theme ersetzt. Eine leere index.php im Child Theme wird eine leere Startseite erzeugen.
Anders bei den beiden Dateien style.css und functions.php: Sie ersetzen nicht die gleichnamigen Dateien im Parent Theme, sondern ergänzen sie. Legen wir also eine functions.php im Child Theme an, wird dennoch die functions.php des Parent Theme geladen. Wenn wir nun beispielsweise in der functions.php des Child Theme eine neue Sidebar anlegen, wird diese ergänzend zu allen Funktionen des Parent Theme geladen.
Und so geht es:
Hier erkläre ich nun Schritt für Schritt, was getan werden muss, um ein eigenes Child Theme herzustellen. In diesem Tutorial wird der Header verändert (die Grafik soll nach ganz oben kommen, der Titel darunter, wiederum darunter der Slogan, aber auf der linken Seite). Außerdem wird eine weitere Sidebar direkt unter Titel und Slogan angelegt.
- Zuerst legen wir einen Ordner für das Theme an. Nennen wir ihn einfach twenty_ten_child. In diesem Ordner erstellen wir nun eine neue leere Datei mit dem Namen style.css, diese öffnen wir mit einem Quelltext-Editor (nicht Word oder Ähnliches!) und tragen folgendes zuoberst ein:
/*
Theme Name: twenty ten child
Theme URI: http://example.com/
Description: Child Theme von Twenty Ten
Author: Hans Wurst
Author URI: http://example.com/
Template: twentyten
Version: 0.0.1
Tags: Twenty Ten, Child Theme
*/
@import url("../twentyten/style.css");
@import url("custom.css"); - Diese Datei speichern wir und laden sie auf unseren Webspace in den Ordner /wp-content/themes/. Im Backend können wir nun schon das eben erstellte Child Theme aktivieren. Noch sieht es genau so aus, wie das Standard-Theme. Das werden wir nun ändern.
- Wir kopieren die Datei header.php des Twenty Ten Theme in den Ordner unseres Child Theme. Wir öffnen auch diese Datei mit dem Editor.
- Um die in der Einführung genannten Änderungen vorzunehmen und den Titel und den Slogan unter die Grafik zu rücken, gehen wir nun Schritt für Schritt wie folgt vor:
- Wir kopieren Zeile 49 bis Zeile 54 (Strg+C) und fügen sie danach zwischen </div><!– #access –> und </div><!– #masthead –> etwa in Zeile 74 ein (und erschaffen so die Zeilen 75-80):

- Wir löschen die eben kopierten Zeilen 49 bis 54 und speichern die Datei. Sie sollte nun etwas so aussehen:

- Wir laden die modifizierte header.php in den Ordner unseres Child Theme. Wenn wir das Theme nun aktivieren, ist der Blog-Titel samt Slogan bereits unter der Grafik. Der Slogan allerdings befindet sich noch immer rechts.
- Wir erstellen wieder eine leere Datei im Ordner des Child Theme, diesmal nennen wir sie custom.css (diese Datei wird bereits durch die style.css eingebunden, siehe oben) und öffnen sie im Editor.
- Wir fügen folgende Zeilen in die leere Datei ein:
#site-description {
clear: left;
float: left;
font-style: italic;
margin: 14px 0 18px 0;
width: 220px;
}
Danach speichern wir auch diese Datei und laden sie in den Theme-Ordner. Der Slogan steht nun rechts unter dem Titel.
- Wir kopieren Zeile 49 bis Zeile 54 (Strg+C) und fügen sie danach zwischen </div><!– #access –> und </div><!– #masthead –> etwa in Zeile 74 ein (und erschaffen so die Zeilen 75-80):
- Nun wollen wir eine weitere Sidebar direkt unter dem Slogan einfügen. Wir gehen dafür wie folgt vor:
- Wir erstellen im Ordner des Child Theme die Datei functions.php und öffnen sie im Editor.
- Wir tragen folgenden Code in die Datei ein:
<?php
register_sidebars( 1,
array(
'name' => 'Header_Sidebar',
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h3>',
'after_title' => '</h3>'
)
);
?>
Danach speichern wir die Datei. - Nun öffnen wir nochmals die header.php und fügen zwischen </div><!– #masthead –> und </div><!– #header –> (ziemlich am Ende der Datei) folgende Zeile ein:
<?php if ( !dynamic_sidebar( 'header_sidebar' ) ) : ?><?php endif; ?> - Diese beiden Dateien laden wir nun ebenso in den Theme-Ordner auf dem Webspace.
- Das Theme ist fertig. Titel und Slogan befinden sich nun unter der Grafik, darunter befindet sich eine weitere Sidebar, die im Widget-Menü mit Widgets bestückt werden kann.
Soviel zum Beispiel eines Child Theme von Twenty Ten unter WordPress 3.0. Die oben vorgenommenen Änderungen dienen hier nicht der Schönheit, sondern eher Vorführungszwecken. Gestalten darf nun jeder selber nach Lust und Laune.
Falls es jemand haben möchte: Hier kann man das oben beschriebene Child Theme herunterladen!
Viel Erfolg und Vergnügen!
Ich habe gerade 64 schöne Header für das neue Twenty Ten Theme kreiert
http://blogorama.eisbrecher.net/2010/06/23/rudis-64-schonste-twenty-ten-theme-header-fur-wordpress/
Jeder darf sie kostenlos runterladen. Viel Spaß damit & Happy Blogging!
Pingback: Tutorial: Ein auf Twenty Ten basierendes Design erstellen | wemaflo.net | WpMash - WordPress News
Schön, deine Arbeit, sie schien genau das zu sein, was ich gerade benötige: eine linke Sidebar in Twenty Ten. Doch es ist ja eine Header-Sidebar, d.h. sie verläuft über die ganze Breite. Wie kann ich es hinkriegen, dass es eine richtige left_sidebar wird, also links vom content “runtergeht”. Fehlt da nicht eine CSS-Beschreibung?
Danke trotzdem erstmal und noch mehr, wenn du mir hier weiterhelfen würdest.
Ja, die Header-Sidebar verläuft horizontal. Ich habe momentan keinen Zugriff auf meinen Rechner, werde dir da später weiterhelfen, vermutlich kurz nach Neujahr.
Also, muss ich jede Datei, die ich bearbeite in den child-Theme-Ordner kopieren und dort, den Inhalt der Datei bearbeiten…..?
Frage 2:
Ich möchte nur den Slogan unter die Header-Grafiken machen, nicht noch den Title.
Problem ist jetzt aber, dass warcheinlich bei einer Aktualisierung des Themes mehrere Zeilen Code hinzugefügt wurden und das mit 49 usw. jetzt nicht mehr stimmt!
@Jan:
Zu deiner ersten Frage: Ja. Wenn du eine Datei verändern willst, kopierst du sie aus dem Originaltheme in den Ordner deines Child-Theme und änderst sie dort. Wenn nämlich TwentyTen mal ein Update bekommt (was soweit ich weiß sogar schon geschehen ist), wären deine Änderungen direkt im Theme wieder weg, da überschrieben. Nutzt du diese Child-Theme-Methode, bleiben diese Änderungen erhalten, da zwar das Parent-Theme ersetzt wird, die veränderten Dateien jedoch immernoch darüber gelegt werden.
Zur zweiten Frage: Wenn ich es richtig verstanden habe, willst du den Header so haben, wie er hier genutzt wird.
Dann sollte folgendes schon zum Ziel führen:
Kopiere Zeile 66, füge die Zeile zwischen den Zeilen 86 und 87 wieder ein.
Danach lösche die o.g. Zeile 66, speichere die Datei und du hast die Schritte 1-3 abgeschlossen.
Die E-Mail an dich für die “runden Ecken” ist auch raus ;)
Viel Erfolg!
@wemaflo:
Danke, für deine schnelle Antwort ;-)
Zu Frage 2:
Wenn ich aber dann die Änderung vornehme, also, wie du es mir beschrieben hast muss ich dann auch die header.php kopieren und im Child-Ordner abspeichern ja?
Zur Frage 2: Naja, nicht ganz genau, wie hier.
Der Titel soll immernoch an der selben Stelle stehen, wie im orginal Theme.
Also, über der Grafik der Title und unter der Grafik rechts, der Slogan ;)
Ja genau. Einfach die header.php im Child-Theme-Ordner abspeichern.
Anders als beim Stylesheet (wie ja oben im Artikel beschrieben). Das ergänzt sich nämlich, hier musst du nicht die ganze Datei kopieren. Ebenso die functions.php.
Ja, das meinte ich so :) Wenn du nur diese eine Zeile nach unten rutschen lässt, ändert sich nur die Position des Slogans. Und wenn du im CSS nichts veränderst, bleibt er auch rechts.
Danke :)
Hallo,
das Tutorial ist echt gut, aber wieso ist nirgends erklärt, wie man die Standartschrift verändern kann?
Twenty Ten ist echt schick, nur die reine schwarze Schrift sieht ein wenig fas aus.
Wo kann man die Ändern?
Gruß Sascha!
Die CSS-Einstellungen für die Schrift findest du in der style.css des TwentyTen-Theme unter
/* =Fonts
——–*/
Du kannst die einzelnen zu verändernden Zeilen in die CSS-Datei deines Child-Theme kopieren und dort verändern.
Folgendermaßen kannst du beispielsweise die Schriften auf sans-serif stellen:
body,
input, textarea,
.page-title span,
.pingback a.url {
font-family: Georgia, “Bitstream-Charter”, sans-serif
}
Viel Erfolg ;)
Okay, die Schriftart kann ich verändern. Das hat geklappt Fett und Kursiv geht auch, aber wie kann ich die Textfarbe für den Standarttext ändern?
Pingback: Tutorial: WordPress und BuddyPress Childthemes – Stylesheets richtig einbinden | wemaflo.net
Hallo
ich habe den Beitrag mal probiert nach zu arbeiten und muss sagen soweit so gut. :-) Prima gemacht. Ich hätte nun eine Frage.
Bekommt man es hin im aktuellen Twenty Ten 1.2 Theme zwei Menüleisten einzustellen ??? Mal eine kurze Erklärung
Ich soll eine Firmen Webseite machen (5 Firmen auf eine Seite) und habe mich für das Twenty Ten 1.2 entschieden. Einfach und gut zu handeln. Meine Idee war es oberhalb des Banners eine Basis Leiste einzufügen mit 5 oder 6 Links, die , wenn Sie angeklickt werden jeweils eine andere Linkstruktur unterhalb des banner öffnet.
Beispiel
Ich klicke Link ein an und folgendes passiert
1 | 2 | 3 | 4 | 5 | 6|
Banner
1.1 | 1.2 | 1.3 | 1.4 |
Ich klicke link 3 an und folgendes passiert
1 | 2 | 3 | 4 | 5 | 6|
Banner
3.1 | 3.2 | 3.3 | 3.4 |
Sowas muss doch möglich sein oder ?Sind das nicht die sogenannten SubMenus?
Würd mich über ein Antwort freuen .
Mfg Niklas
Ich meinte nicht Menüleisten sondern Navigations Leisten :-(