Habilitar widgets en Wordpress theme e incluir varias Sidebars

by dorian06

La de idea de la entrada es mostrar como podemos hacer para que nuestro theme (o el que estemos editando) tenga multiples sidebars y poder utilizar widgets en ellas.

Los widgets de wordpress son una excelente herramienta para customizar los blogs. Yo, todavía trabajando sobre este blog, utilizó un theme llamado minafest (http://jimbarraud.com/manifest/) que no soporta widgets (porque tampoco tiene sidebar). Esta guía es el resultado del camino que transite para poder primero hacer un sidebar que soporte los widgets y después hacer multiples sidebars para poder dividir mejor el contenido.

Paso 1: Si el theme no tiene el archivo functions.php, lo primero que tenemos que hacer es crearlo y subirlo en la carpeta del theme dentro de wp-content y agregamos el siguiente codigo:

Ojo, no confundir con el funtions.php del core de wordpress

<?php
if ( function_exists('register_sidebar') )
register_sidebar();
?>

Esto solo va a funcionar si usamos el formato estandar de wordpress con los tags h2 como titulos y una lista, es decir, el archivo sidebar.php de la siguiente manera:

<ul>
<li>
<h2>Sidebar Title</h2>
<ul>
<li><a href="link1.html">Link 1</a></li>
<li><a href="link2.html">Link 2</a></li>
</ul>
</li>
</ul>

Paso 2: Ya tenemos habilitada la funcion de widgets desde wordpress y podemos agregarlos a nuestra nueva sidebar

Paso 3: Agregar la Dynamic Sidebar al Template:

Necesitamos agregar el código necesario en el archivo sidebar.php para que muestre  los widgets.

<?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar() ) : ?>
<?php endif; ?>

En este punto ya podemos ir a la pagina de widgets y agregarlos en 1 sola sidebar. Si queremos tener mas de una, tenemos que cambiar el arhivo functions.php del theme para que quede de la siguente manera, por ejemplo con 2 sidebars:

<?php
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'sidebar1',
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h4>',
'after_title' => '</h4>',
));
register_sidebar(array('name'=>'sidebar2',
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h4>',
'after_title' => '</h4>',
));
?>

Y desde sidebar.php llamos a las 2 sidebars, por ejemplo:

Sidebar1:
<?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar('sidebar1') ) : ?>
<?php endif; ?>

Sidebar2 :
<?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar('sidebar2') ) : ?>
<?php endif; ?>

Si todo salio bien, It’s done. Ya tenemos nuestro theme con multiples sidebars!

Fuente y mas info:

http://codex.wordpress.org/Widgetizing_Themes
http://www.quickonlinetips.com/archives/2007/11/how-to-widget-enable-wordpress-themes-in-3-easy-steps/
http://www.quickonlinetips.com/archives/2007/11/how-to-create-multiple-dynamic-sidebars-for-wordpress-widgets/

compartilo
  • Twitter
  • Facebook
  • LinkedIn
  • del.icio.us
  • Digg
  • Tumblr
  • Google Bookmarks
  • Print this article!
  • Turn this article into a PDF!
  • RSS