Teil 4: Wordpress "Themes": Grundwissen ist gefragt
- Wordpress "Themes": Grundwissen ist gefragt
- Teil 2: Wordpress "Themes": Grundwissen ist gefragt
- Teil 3: Wordpress "Themes": Grundwissen ist gefragt
- Teil 4: Wordpress "Themes": Grundwissen ist gefragt
- Teil 5: Wordpress "Themes": Grundwissen ist gefragt
Wenn Sie sich die Datei sidebar.php im Theme-Ordner internetmagazin_3 ansehen, werden Sie feststellen, dass der gesamte Inhalt der Sidebar in ungeordneten Listen steckt. Das ist die Voraussetzung für eine komplikationslose Implementierung der Widgets. Fügen Sie nach Zeile 7 folgenden Code-Schnipps...
Wenn Sie sich die Datei sidebar.php im Theme-Ordner internetmagazin_3 ansehen, werden Sie feststellen, dass der gesamte Inhalt der Sidebar in ungeordneten Listen steckt. Das ist die Voraussetzung für eine komplikationslose Implementierung der Widgets. Fügen Sie nach Zeile 7 folgenden Code-Schnippsel ein:
<?php if ( !function_exists
('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
Für Wordpress bedeutet das: "Wenn eine dynamisch aus Widgets generierte Sidebar existiert, dann blende diese ein. Anderenfalls verwende die folgenden, hartcodierten Listen". Öffnen Sie jetzt die Datei functions.php und tippen Sie folgenden Code an deren Ende ein:
<?php if ( function_exists('register_
sidebar') ) register_sidebar(); ?>
Damit wird die Sidebar bei Wordpress registriert. Mehr ist nicht nötig, um Widgets zu integrieren. Die functions.php ist generell der geeignete Ort, um theme-bezogenen PHP-Code zu speichern, der nicht direkt in eine Template-Datei gehört.
Selbstprogrammierte Widgets und andere Funktionen, die Sie in verschiedenen Templates nutzen möchten, bringen Sie ebenfalls hier unter. Auch die Organisation mehrsprachiger Themes und individueller Theme-Optionen fallen in den Aufgabenbereich der functions.php.
Tipp: Falls Sie einmal eine Sidebar, die nicht auf <ul> fusst, widgetfähig machen möchten, sollten Sie sich die Tipps ansehen.
Dynamisches CSS
Wir haben die Sidebar etwas hemdsärmelig mit einem #sidebar {float:right; width:300px} an den rechten Rand unseres Blogs befördert. Ist sie kürzer als die Spalte #content, dann springt die Laufweite des Artikel-Textes hässlich auf die volle Seitenbreite, sobald das untere Ende der Sidebar erreicht ist.Würden wir andererseits die Breite unseres Contents fest auf 600px einstellen, bliebe der Platz der Raum der Sidebar auf den Seiten ungenutzt, auf denen wir auf die Sidebar verzichten.

Aktivieren Sie deshalb Version 4 unseres Themes und werfen Sie einen Blick in die Datei header.php. In den Zeilen 17 bis 25 finden Sie Inline-CSS, das #content dynamisch auf eine Breite von 600px oder 900px setzt, je nachdem, ob die aktuelle Seite eine Sidebar enthält oder nicht.
Die Abfrage läuft über ein sogenanntes Conditional Tag (is_active_sidebar()), von denen Wordpress Ihnen unzählige weitere zur Verfügung stellt, um auf verschiedene Zustände einer Seite zu reagieren. Dokumentiert sind die Conditional Tags hier.
Übrigens: Die functions.php haben wir in Version 4 so erweitert, dass Sie den für die Sidebar erzeugten Code gezielt beeinflussen können.
Kommentar-Template
Als Nächstes legen Sie ein Template für die Anzeige eines einzelnen Artikels beziehungsweise einer Seite an. Der Regelfall ist, dass Sie solch ein individuelles Template beginnen, indem Sie die index.php kopieren und entsprechend den Wordpress-Konventionen umbenennen, in diesem Fall in single.php.
In Version 5.0 unseres Themes finden Sie bereits eine fertige Datei single.php. Hier ist die Überschrift nicht mehr verlinkt. Außerdem enthält der Beitrag eine Fußzeile, die auf Kommentare, Trackbacks und den Kommentar-Feed hinweist. In Zeile 28 referenziert unsere single.php per Template-Tag das Kommentar-Template, das in der comments.php steckt.Die comments.php gehört zu den verzwicktesten Dateien eines Themes, denn hier ist der Anteil an PHP-Code besonders hoch. In den Zeilen 10 bis 18 wird überprüft, ob die Datei direkt aufgerufen wurde und gegebenenfalls eine Fehlermeldung präsentiert.

Wenn Kommentare per Passwort geschützt sind, organisieren diese Zeilen außerdem ein entsprechendes Eingabe-Formular. Abgesehen von eventuellen Änderungen am auszugebenden Text, sollten Sie diese Zeilen unberührt lassen.
In Zeile 24 startet der Comment-Loop, das heißt, eine PHP-Schleife, die die Kommentare aus der Datenbank holt und in die Website einfügt. Die Zeilen 32 bis 34 packen alle Kommentare in eine geordnete Liste - die einfachste Variante der Kommentar- Anzeige. Ab Zeile 54 folgt dann der Code, der die Anzeige des Formulars für neue Kommentare realisiert.
Archiv-Template
Aktivieren Sie jetzt Version 6 unseres Themes. Es enthält ein zusätzliches Template namens archive.php, auf dessen Basis die Blog-Engine Archiv-Übersichten Ihrer Artikel darstellt.
zm_timkaufmann