Wenn neue Themes für WordPress erstellen möchte, stößt man früher oder später auf Frameworks, die einem die Arbeit erleichtern sollen, indem sie ein Gerüst vorgeben, in dessen Rahmen man dann agiert – und das man zudem auf möglichst einfache Art und Weise erweitern kann.
Bereits für das bei diesem Blog vorliegende Template hatte ich Thematic benutzt, allerdings war das nur eine vergleichsweise „kleine“ Umsetzung. Für eins meiner anderen Blogs sollte nun endlich mal ein Theme her, das (unter anderem) vier Voraussetzungen erfüllen sollte:
- vollständig selbst erstellt statt nur angepasst
- Anzeige der Beiträge eines Custom Post Types über ein eigenes Menü
- Widgetpositionen nach meinem Gusto
- flexible Sidebar mit einer und zwei Spalten
Dafür muss man natürlich schon tiefer in die Materie Thematic einsteigen – und das gestaltet sich nicht ganz so einfach, da die Dokumentation – sagen wir es wie es ist – sehr spärlich ist. Glücklicherweise versteht man recht schnell, wie das grundsätzlich funktioniert und dann helfen einem zahllose weit über das Netz verteilte Artikel zu jeder Menge Themen rund um das Framework.
Man hat die Möglichkeit in der style.css des eigenen (Child-)Themes unterschiedliche CSS-Dateien zu importieren, die Thematic mitliefert, um verschiedene grundsätzliche Layouts realisieren zu können, beispielsweise zwei- oder dreispaltig. Über den Import
@import url('../thematic/library/layouts/2c-r-fixed.css');
stellt man beispielsweise ein zweispaltiges Layout mit der Sidebar rechts ein.
Man kann dann über das reine Ändern bzw. Überschreiben von CSS-Klassen bereits eine ganze Menge an Änderungen am Aussehen des Themes vornehmen, ohne auch nur eine einzige Zeile PHP schreiben zu müssen.
Was mir persönlich nach anfänglichem Frust aufgrund der verstreuten Doku gut gefiel ist die Tatsache, dass man die Thematic-Inhaltspositionen in der functions.php des eigenen Themes recht einfach an andere Stellen verschieben kann. Will ich beispielsweise die Navigation vom unteren Rand des Headers über den Header verschieben, dann kann man das tun, indem man es an der üblichen Position entfernt und an einer anderen wieder einfügt:
function remove_thematic_actions() {
remove_action('thematic_header','thematic_access',9);
}
add_action('wp','remove_thematic_actions');
add_action('thematic_aboveheader','thematic_access');
Auch das Einfügen neuer Funktionalität an bereits vorhandene Positionen von Thematic ist kein Problem. Ich wollte beispielsweise einen Image-Slider über das Plugin VSlider im Header realisieren. Also eben VSlider installieren und die functions.php erweitern:
/* Slider in header (right) */
function phantanews_header_slider () {
$options = get_option('phantanews_options');
if ($options['pn_vslider'] == '1') {
if (function_exists('vSlider')) { vSlider(); }
}
}
add_action('thematic_header', 'phantanews_header_slider');
Danach kann man das genaue Aussehen und die Position des VSliders im CSS festlegen. Einfacher geht’s kaum.
Hier sieht man auch gleich, wie man auf Optionen zugreifen kann, die man auf einer Options-Seite des Themes festlegt. Wie das funktioniert, dazu mehr auf einer erläuternden Seite bei Themeshaper (von denen sammtt auch Thematic). Einfacher geht’s kaum…
Dadurch, dass Thematic alle notwendigen Templates bereits mitliefert, muss man sich keine Gedanken darum machen, für jede Kleinigkeit selbst welche anlegen zu müssen, wie das bei der vollständigen Selbstentwicklung eines Themes notwendig ist. Archive, Seiten, Single-Ansicht, Sidebar mit Widgets – das ist alles bereits vorhanden und wartet auf einen neuen Anstrich. Man wird davon entlastet, das Rad neu erfinden zu müssen und kann sich auf das Layout und die Darstellung des Inhalts konzentrieren. Auch Gimmicks wie beispielsweise ein ausklappendes Superfish-Menu stellt das Framework automatisch ebenso zur Verfügung wie eine Seiten-Navigation mit dem Plugin WP-Pagenavi.
Als Fazit sehe ich für mich, dass ich Thematic jederzeit wieder als Basis für eine Template-Entwicklung nehmen werde und dass sich die investierte Zeit um herauszufinden, wie das funktioniert durchaus gelohnt hat.
Die pure Pest war allerdings das Einbinden eines Custom Post Type – diese Funktionalität kann man in WordPress derzeit bestenfalls als rudimentär bezeichnen und man muss eine Menge zu Fuß durchhecheln und selbst programmieren, bevor der CPT so funktioniert, wie beispielsweise Blogbeiträge. Aber das hat eigentlich nichts mit Thematic und deswegen dazu ein andermal mehr.
Thematic kann ich empfehlen.