lunes, 17 de noviembre de 2008

Cómo hacer que una página o post, use un Sidebar diferente en Wordpress

Cómo añadir una segunda barra lateral o Sidebar con widgets para usar en post o páginas separadas: El siguiente tutorial cubre el proceso de construir una segunda barra lateral, la cual conocemos comúnmente como Sidebar que pueda ser usada en páginas específicas o post (artículos). Usar un Sidebar diferente en Wordpress para páginas y post le permiten al usuario mostrar diferente contenido en el Sidebar sobre una post o página dado. Adicionalmente, el usuario podría agregar los widgets de plugins duplicados en el Sidebar para agregar el mismo contenido de los widgets a ambos Sidebars.

Añadir una segunda barra lateal (Sidebar) compatible para WordPress:

Este proceso asume que tu estás usando el tema Kubrick o un tema basado en el Kubrick. Por favor has una copia de respaldo de tus archivos antes de editarlos.

1. Navega hasta Diseño -> Editor de Temas desde tu panel de administrador de WordPress
2. Abre el archivo functions.php desde la lista de archivos del temay encuentra:

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>',
	));
3. Reemplázalo con el siguiente código, y luego actualiza el archivo:
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'Sidebar 1',));
register_sidebar(array('name'=>'Sidebar 2',));

Ahora deberías tener dos Sidebars compatibles que podrás mostrar en Diseño -> Widgets.
Posteriormente vamos a añadir una plantilla de Sidebar a usar para el Sidebar 2 y luego lo llamaremos en la página o post en el que deseemos mostrar el nuevo Sidebar.

4. Crea un archivo nuevo con el nombre sidebar2.php dentro de tu directorio de Wordpress wp-content/themes/nombredetutema/, y luego le pegas el siguiente código a ese archivo que recién has creado:
<div id="sidebar">
<ul>
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('Sidebar 2') ) : else : ?>
<?php endif; ?>
</ul>
</div>
5. Ahora, para usar el Sidebar 2, simplemente reemplaza el siguiente código encontrado en cualquiera de tus archivos de plantilla. Por ejemplo, en el archivo single.php (Single Post)
<?php get_sidebar(); ?>
6. Con el siguiente código:
<?php include("sidebar2.php"); ?>

Nota: Puedes construir una plantilla personalizada que se llame específicamente dentro de Sidebar 2 y se elija usar cada vez que tu escribas una página que desees que use este Sidebar alternativo.

8 comentarios

  1. Estupendo post!
    Ahora sólo me falta saber como puedo poner una barra lateral a cada lado

    ResponderEliminar
  2. Si el contenido o el theme de tu wordpress usa AJAX, creo que esto no funciona. Al menos no está funcionando para mí, porque con ajaxcontent no se vuelve a cargar la sidebar de otra página si ya está cargada.
    Tienes alguna idea para salvar ese obstáculo? Desde ya muchas gracias.

    ResponderEliminar
  3. Respuestas
    1. Estimado Fernando Rognoni: Esa era mi antigua dirección antes de migrar a Blogger, lastimosamente por cuestion de tiempo no pude mantener el alojamiento y para no perder el contenido migre a esta plataforma.

      Eliminar
  4. gracias, me ha servido de mucho!

    ResponderEliminar
  5. [...] bastante completo con explicaciones detalladas y ejemplos de códigos; Mario contribuye con otra explicación; también encontramos tutos en Nosolocodigo, Blogohblog y en varios hilos del foro de [...]

    ResponderEliminar