Sidebar widgetfähig machen
Zunächst muss folgender Code in die functions.php des Themes kopiert werden:
<?php
if ( function_exists('register_sidebar') )
register_sidebar();
?>
Dies ist der mindestens benötigte Code um die Sidebar widgetfähig zu machen. Die minimalistische sidebar.php dazu sieht so aus:
<ul>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : endif; ?>
</ul>
Die Sidebar selbst kann noch Code enthalten, um zusätzliche Elemente zu den Widgets zu enthalten, oder eine Standard-Sidebar anzuzeigen, wenn keine Widgets auf die dynamische Sidebar gezogen wurden. Dazu beispielhaft der folgende Code für die Sidebar:
<ul id="sidebar">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
<!-- Standard-Sidebar, wenn keine Widgets vorhanden sind -->
<?php endif; ?>
<!-- zusätzliche statische Sidebar-Elemente -->
</ul>
2 oder mehr dynamische Sidebars
Wenn man 2 oder mehr dynamische Sidebars in seinem Theme haben möchte, dann verwendet man statt register_sidebar() die Funktion register_sidebars($n), wobei $n die Anzahl der Sidebars enthält. In der Sidebar wird dann die dynamische Sidebar mit dynamic_sidebar($i) angesprochen (beginnend mit $i = 1).
Beispiel functions.php für 3 dynamische Sidebars:
<?php
if ( function_exists('register_sidebar') )
register_sidebars(3);
?>
“Meine Sidebar ist keine Liste!” – Widget-Ausgabe beeinflussen
Ist deine Sidebar keine verschachtelte Liste, oder möchtest du den generierten HTML-Code aus anderen Gründen beeinflussen, dann kannst du den obigen Code wie folgt erweitern:
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="title">',
'after_title' => '</div>',
));
Mit diesem Code solltest du genügend CSS-Selektoren bekommen, um jedes Widget individuell stylen zu können.
Mehr Infos über WordPress-Widgets gibts bei automattic.

