Si estamos diseñando nuestro tema para WordPress, tarde o temprano tendremos que decidir si le añadimos o no la capacidad para usar ‘widgets’ (palabra que se podría perfectamente intercambiar por ‘gadgets’, o ‘artilugios’).

Como sabéis, los temas que tienen activada la posibilidad de usar widgets pueden, normalmente en la barra lateral, alojar, cambiar, añadir y quitar todas esas funcionalidades extra que pimientan nuestro blog, sin tener que descender a los archivos para escribir código :

  1. Artículos Recientes
  2. Comentarios Recientes
  3. Búsqueda
  4. Lista de Links
  5. Lista de Categorías
  6. Lista de Páginas
  7. etc.

Con el sistema de widgets funcionando, vamos a ir simplemente al Panel de Administración y añadiremos, a esos distintos espacios que hayamos habilitado, los widgets de nuestro interés.

Modificando functions.php

Abriremos (o crearemos, caso de que no lo tuviéramos aún) functions.php, y pondremos ahí el siguiente código :

//Widgets

if ( function_exists('register_sidebar') )
{

 register_sidebar
    (   array
        (
          'name' => 'Barra Lateral',
          'before_widget' => '<div class="widget">',
          'after_widget' => '</div>',
          'before_title' => '<h3 class="widgettitle">',
          'after_title' => '</h3>',
        )
    );

 register_sidebar
    (   array
        (
          'name' => 'Pie de Página',
          'before_widget' => '<div class="widget">',
          'after_widget' => '</div>',
          'before_title' => '<h3 class="widgettitle">',
          'after_title' => '</h3>',
        )
    );
}

Muy importante : no nos olvidemos de abrir y cerrar nuestro functions.php con los clásico tags de PHP :

<?php

// código aquí

 ?>

Nuestro ejemplo concreto

En nuestro ejemplo hemos preparado a WordPress para entender que nuestro tema tendrá, en la barra lateral y en el footer, espacio para widgets.

Ahora tendremos que dirigirnos a ambos archivos (sidebar.php y footer.php), y añadir el siguiente código :

Para la Barra Lateral :

<?php if ( !function_exists('dynamic_sidebar')
        || !dynamic_sidebar('Barra Lateral') ) : ?>
<ul><?php wp_list_categories('title_li=<h3>Categorías</h3>'); ?></ul>
<?php endif; ?>

Para el Pie de Página :

<?php if ( !function_exists('dynamic_sidebar')
        || !dynamic_sidebar('Pie de Página') ) : ?>
<ul><?php wp_list_pages('title_li=<h3>Páginas</h3>'); ?></ul>
<?php endif; ?>

En ambos casos, siempre que no hayamos instalado aún los widgets (lo cual va bién para cuando ofrecemos el tema a un usuario, para que no se encuentre esas secciones vacías), vamos a ver en esos espacios categorías y páginas listadas por defecto, que desaparecerán cuando posteriormente, a través de la Administración, definamos por nosotros mismos que es lo que ahí debe aparecer.

Del mismo modo, en functions.php hemos especificado las clases que eventualmente nos van a servir para formatear las listas y sus encabezados : anchura, fondos, items de lista … etc.

Esperamos que os haya gustado este tutorial, y que aprovechéis al máximo el potencial que los widgets de WordPress nos ofrecen.