Mehrere dynamische Sidebars

Um eine widget-fähige Sidebar in WordPress zu aktivieren muss man zumächst in der functions.php den widget Bereich registrieren. Wenn man etwa 2 neue Sidebars haben möchte, sollte der Code so aussehen:


	< ?php  
         if (function exists('register_sidebar'))
	    register_sidebar( array(  
	        'name' => 'left-sidebar',  
	        'before_widget' => '<ul><li>',  
	        'after_widget' => '</li></ul>',  
	        'before_title' => '<h3>',  
	        'after_title' => '</h3>'  
	    ) );  
	    register_sidebar( array(  
	        'name' => 'right-sidebar',  
	        'before_widget' => '<ul><li>',  
	        'after_widget' => '</li></ul>',  
	        'before_title' => '<h3>',  
	        'after_title' => '</h3>'  
             ) );  
	?> 

Im Adminbereich kann man nun unter dem Menüreiter Design > Widgets die beiden neuen Sidebars sehen. Diese können jetzt nach belieben mit Widgets (bsp. Archiv, Kalender, Meta, Letzte Kommentare etc.) befüllt werden.
Um den Widgetbereich zu aktivieren, muss man den Code der dynamischen Sidebars in die aktuellen sidebar Dateien integrieren. Meist ändert man hierbei die sidebar.php.


< ?php 
	if (is_home() )
	{
          if ( function_exists('dynamic_sidebar')) 
           { !dynamic_sidebar('sb-blog') ;}
         }
	?>

< ?php if (!dynamic_sidebar("left-sidebar") ) : ?>  
// Standard-Sidebar erscheint hier 
< ?php endif; ?>  

< ?php if (!dynamic_sidebar("right-sidebar") ) : ?>  
// Rechte Sidebar erscheint hier... 
< ?php endif; ?>  

Der Code zwischen den PHP Tags wird angezeigt, falls kein besonderes Widget genutzt wird.

Mehrere statische Sidebars

Man kann seine WordPress Website mit unterschiedlichen Sidebars etwas komfortabler gestalten.

In der statischen Form muss man zunächst in seinem Theme-Verzeichnis die Vorlagedateien verändern, in denen hauptsächlich die sidebar.php aufgerufen wird. Das sind die Basisdateien: page.php, single.php, index.php und archiv.php.
Die Seitenleiste wird über das Template Tag < ?php get_sidebar(); ?> automatisch aufgerufen. Für die unterschiedlichen Seitenleisten müssen jetzt jeweils eigene Templatedateien mit den gewünschten Inhalten geschrieben werden. Den Aufruf der Templatedateien kann man mit Conditional Tags erneuern. Statt < ?php get_sidebar(); ?> ersetzt man den Code beispielsweise durch:


< ?php 
if(is_page('Home'))
  {
    include (TEMPLATEPATH . '/sb-home.php');
  } 
   else
    { 
     if(is_page('Kontakt'))
      {
       include (TEMPLATEPATH . '/sb-kontakt.php');
      }									
      else
	 {
	    get_sidebar();
	 }
     }	
 ?>

Bsp.: Ruft man die Kontaktseite auf, so bekommt man per include Anweisung die sb-kontakt.php als Seitenleiste eingebunden. Beachten muss man hierbei, dass der Code lediglich statische Inhalte ausgibt und keine dynamischen (widgetfähigen) Sidebars produziert.