Creare Sidebar multiple per i Widget di WordPress

A partire dalla versione 2.2, i Widget di WordPress permettono di gestire la visibilità e l'ordinamento di vari elementi all'interno della barra laterale del blog. Ad esempio la lista delle Categorie, dell'Archivio mensile, i Post più letti etc...
Per poter utilizzare questa funzionalità bisogna installare anche un tema che supporti i Widget. La maggior parte dei temi lo è, ma nel caso in cui il tema scelto non fosse compatibile o che l'utente voglia crearsene uno da zero, bisogna effettuare delle modifiche. Ecco quali:

Passo 1: Creare (o modificare) il file functions.php

Se nella cartella del proprio tema il file functions.php non esiste, va creato e al suo interno va inserito questo codice:

if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));
}

Passo 2: Aggiungere una Sidebar dinamica al Tema

Per mostrare i Widget, è necessario modificare il file sidebar.php inserendo questa riga:

if ( !function_exists('dynamic_sidebar') || ! dynamic_sidebar() ) :
// codice html da mostrare se i Widget non sono supportati
endif;

Passo 3: modificare il file functions.php per aggiungere Sidebar multiple

Per aggiungere altre sidebar, modifichiamo il file functions.php in questo modo:

// sidebar 1
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name'=>'sidebar1',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));
}
// sidebar 2
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name'=>'sidebar2',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));
}

Passo 4: Aggiungere le Sidebar multiple al Tema

Per aggiungere le due nuove Sidebar dinamiche appena create, al nostro tema, è sufficiente modificare il file sidebar.php in questo modo

// sidebar 1
if ( !function_exists('dynamic_sidebar') || ! dynamic_sidebar('sidebar1') ) :
// codice html da mostrare se i Widget non sono supportati
endif;
// sidebar 2
if ( !function_exists('dynamic_sidebar') || ! dynamic_sidebar('sidebar2') ) :
// codice html da mostrare se i Widget non sono supportati
endif;

Passo 5: Aggiungere una descrizione alle Sidebar (solo per WP .2.9)

A partire dalla versione 2.9, WordPress supporta anche le descrizioni delle varie Sidebar: basta aggiungere all'array passato alla funzione register_sidebar l'elemento description:

if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'name'=>'sidebar1',
        'description' => 'Sidebar Numero 1',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));
}