Thème pour Wordpress : Le panneau latéral

Le panneau latéral peut être peuplé de façon statique par des balises dans le fichier sidebar.php ou de façon dynamique par des widgets, choisis à partir du panel d'administration.

En fait dès que l'on place à widget sans le sidebar, les balises statiques sont ignorées.

La structure du fichier est un choix obligé, c'est celle qui est générée par Wordpress pour les widgets. De façon que les widgets et les éléments définis statiquement aient la même apparence, il faut leur donner la même hiérarchie de balises.

<div id="leftside">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar() ) :  
?> <?php if ( !is_front_page() || is_paged() ) { ?>
<li class="widget">
<a href="<?php bloginfo('home') ?>"> <?php _e('Home', ''); ?> </a>
</li>
<?php } ?> <li class="widget"><?php _e('Meta', '') ?>
<ul> <?php wp_register() ?> <li><?php wp_loginout() ?></li> <?php wp_meta()?> </ul>
</li> <?php endif; ?> </div> // End of leftside

Le panneau latéral est identifié par le nom "leftside".

Les deux marqueurs suivants définissent la zone des widgets. Tout ce qu'on aura placé entre eux sera supprimé et remplacé par le code des widgets que l'on aura choisi dans le panel d'administation.

if (!function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : 


endif; 

Chaque élément de sidebar à la structure suivante:

<li class="widget">
    <ul>
        <li>
        </li>
        ...liste d'items...
    </ul>
</li>

C'est la structure générée automatiquement pour les widgets et on la reprend pour les éléments statiques afin de partager la même feuille de style.

La liste d'items interne à un élément du panel peut être remplacée par une autre balise. Dans le cas d'un nuage de tags, elle est remplacée par une balise de paragraphe.

<li class="widget"><?php _e('Tags', '') ?>
<ul id="tag-cloud">
<p><?php wp_tag_cloud() ?></p>
</ul>
</li>

L'élément meta pour se connecter au site est encadré par deux marqueurs PHP:

<?php wp_register() ?>
    <li><?php wp_loginout() ?></li>
<?php wp_meta()?>

Notre définition de sidebar est optimale. Elle permet d'utiliser une unique feuille de style simplifiée pour cette hiérarchie de balises.

Elements supplémentaires

D'autres éléments sont fournis par Wordpress que l'on peut ajouter en option.

Le calendrier des archives

<li class="widget">Archives
<?php get_calendar(); ?>
</li>

Il est généré par Wordpress dans une table.

Le formulaire de recherche interne

<li class="widget">
<?php _e('Tag Search', '') ?> <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> <input type="text" value="<?php the_search_query() ?>" size="12" /> <input type="submit" value="<?php _e('Search', '') ?>" /> </form>
</li>

Il affiche les listes de résultats sur la page d'accueil.

Documentation utile