cel mai bine este sa iti faci sidebaruri pentru fiecare sectiune in parte, pentru page, post, samd. Uite ce iti propun:
In functions.php din tema, pune:
Cod PHP:
<?php
if ( function_exists('register_sidebar') ) {
    
register_sidebar(array(
        
'name' => 'Sidebar Prima Pagina',
        
'id' => 'sidebar-1',
                
'before_widget' => '<div id="%1$s" class="sidebar-box %2$s">',
        
'after_widget' => '</div>',
        
'before_title' => '<span class="headings-sidebar">',
        
'after_title' => '</span>',
    ));

    
register_sidebar(array(
        
'name' => 'Sidebar Articole',
        
'id' => 'sidebar-2',
                
'before_widget' => '<div id="%1$s" class="sidebar-box %2$s">',
        
'after_widget' => '</div>',
        
'before_title' => '<span class="headings-sidebar">',
        
'after_title' => '</span>',
    ));
}
?>
Si tot asa in functie de cate sidebaruri diferite ai nevoie, de obicei eu fac sidebar Index, Categorii, Pagini, Articole.

Apoi in cadrul fisierului sidebar.php am asa:
Cod PHP:
        <?php if(is_home()) {  if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-1')) :  endif; } ?>
        <?php if(is_single()) {  if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-2')) :  endif; } ?>
Explicatie: in functions.php am creat niste sidebar-uri, 2 in cazul de sus, dar tu creeaza cate ai nevoie, iar in sidebar.php avem niste if-uri care selecteaza in ce sectiune sa apara sidebarul dorit.

De exemplu, daca suntem home (index) afiseaza sidebarul cu id-ul sidebar-1
Cod PHP:
<?php if(is_home()) {  if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-1')) :  endif; } ?>
Daca suntem intr-in articol (post), afiseaza sidebar-2:
Cod PHP:
        <?php if(is_single()) {  if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-2')) :  endif; } ?>
si tot asa...

Tu poti sa folosesti ce a zis Casparel, asa:

in functions.php pui:
Cod PHP:
<?php
if ( function_exists('register_sidebar') ) {
    
register_sidebar(array(
        
'name' => 'Sidebar 404',
        
'id' => 'sidebar-3',
                
'before_widget' => '<div id="%1$s" class="sidebar-box %2$s">',
        
'after_widget' => '</div>',
        
'before_title' => '<span class="headings-sidebar">',
        
'after_title' => '</span>',
    ));
in sidebar.php pui:
Cod PHP:
<?php if(is_404()) {  if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-3')) :  endif; } ?>
Iar acum daca te duci in Widgets ai sa vezi ca iti apar sidebar-urile create si astfel ai posibilitatea de a adauga widget-urile doar in sectiunea dorita.