ja, sehr viele IFs und ELSEIFs 
Versuch es mal so:
<?php
if (in_category(array(3,4))) {
if( function_exists('dynamic_sidebar') && dynamic_sidebar('Buecher') ) ;
} else if (in_category(array(6,23,24,25,26,27))) {
if (get_option('elegantestate_listings') == 'on') include(TEMPLATEPATH . '/includes/sidebar-listings.php');
if( function_exists('dynamic_sidebar') && dynamic_sidebar('Verzeichnis') ) ;
} else if (in_category(array(1,5,28))) {
if( function_exists('dynamic_sidebar') && dynamic_sidebar('Blog') ) ;
} else {
if( function_exists('dynamic_sidebar') && dynamic_sidebar('Sidebar') ) ;
}
?>
Alles anzeigen
Und die Registrierung der Sidebars findet hoffentlich bei dir nicht in der sidebar.php sondern in der functions.php statt:
<?php
register_sidebar(array(
'name' => 'Sidebar',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div><!-- end .widget-->',
'before_title' => '<h4 class="widgettitle"><span>',
'after_title' => '</span></h4>',
));
register_sidebar(array(
'name' => 'Buecher',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div><!-- end .widget-->',
'before_title' => '<h4 class="widgettitle"><span>',
'after_title' => '</span></h4>',
));
register_sidebar(array(
'name' => 'Verzeichnis',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div><!-- end .widget-->',
'before_title' => '<h4 class="widgettitle"><span>',
'after_title' => '</span></h4>',
));
register_sidebar(array(
'name' => 'Blog',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div><!-- end .widget-->',
'before_title' => '<h4 class="widgettitle"><span>',
'after_title' => '</span></h4>',
));
?>
Alles anzeigen