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/










Comments
Muchas Gracias! Lo voy a tenrer en cuenta. Yo estoy armando mi blog, y tus post me van a ayudar cuando lo necesite! Gracias! Saludos!