WordPress: Themes und Widgets
Mit WordPress Version 2.5 wurde die Sidebar dynamisch. Widgets treten nun an die Stelle der typischen, statischen Angaben von Kategorie, Archiv etc. Die Vorteile liegen auf der Hand. Das Ganze lässt sich leicht steuern (im ACP kann per Drag and Drop im Menü die Position des Widgets in der Sidebar bestimmt werden) und erfordert keine zusätzliche Arbeit, da keine Veränderung der .php-Dateien notwendig ist.
Die gängigen WordPress-Themes sind Widget-fähig. Es gibt jedoch Ausnahmen. Mit wenigen Codeschnipseln kann dieser Umstand jedoch behoben werden. Fangen wir bei der sidebar.php an:
[...]
<?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar(’Sidebar’) ) : else : ?>
[...]
<?php endif; ?>
[...]
Eine einfache Bedingung, die nach der Existenz einer dynamischen Sidebar fragt, wird hinzugefügt. Die Bedingungsfunktion selbst habe ich nach dem Suchfeld integriert, das Bedingungsende nach der Linkliste. Denn genau dort soll die Sidebar dynamisch werden. Damit die Widgets dann ihren Dienst tun, muss noch die functions.php erstellt werden. Diese sieht wie folgt aus:
<?php
// Widget Settingsif ( function_exists(’register_sidebar’) )
register_sidebar(array(
‘name’ => ‘Sidebar’,
‘before_widget’ => ‘<div class=”Categories”>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h3>’,
‘after_title’ => ‘</h3>’,
));?>
Die functions.php regelt das Aussehen und Verhalten der dynamischen Sidebar. Ohne diese Datei gibt es hässliche PHP-Fehler. Das Modifizieren der Sidebar ist kein großer Akt, es dauert höchstens fünf Minuten. In der Regel ist dieser Lösungsweg fast immer richtig, Probleme treten nur selten auf.
Viel Spaß beim Dynamisieren!
Update: Tilman und ich haben noch einmal am Code gebastelt und festgestellt, dass der eigentliche Code von WordPress auch nicht fehlerlos ist. Wer ist denn heutzutage noch perfekt… ![]()
schrieb am 3. Juli 2008 um 02:57 Uhr:
Naja .. ist ja alles nicht so neu. Im Grunde wurden nur aus erweiterten Themes die Ideen und Codes in WP eingebaut. Dynamische Sidebars, mehrfach und mit Widgets, gabs auch schon mit deinem alten dkret Theme vor WP2.5. Die umsetzung war identisch, soweit ich das beurteilen kann. Ich habe immer noch nicht WP2.5 installiert.