Añadir soporte de Widgets a una Plantilla

Clic para ampliar

Hay ocasiones en que los themes de WordPress, bien porque son antiguos, bien porque el diseñador no consideró pertinente incluir esta funcionalidad, no soportan widgets, ese modo sencillo de colocar servicios añadidos en la barra lateral (sidebar).

Pues bien, todo tiene solución, y aquí tienes el proceso …

1. Incluir soporte de código en el sidebar

Abrimos el archivo sidebar.php y donde veamos este código …

<div id=”sidebar”>
<ul>
<li>
<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>
</li>

Justo después del primer (<ul>) añadimos el siguiente código …

<?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?>

con lo que nos queda de este modo …

<div id=”sidebar”>
<ul>
<?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
<li>
<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>
</li>

Guardas el fichero sidebar.php

2. Añadir código a las funciones

En el fichero functions.php, y si no existe lo creas, añades este código:

<?php
if ( function_exists(’register_sidebars’) )
register_sidebars();
?>

Lo guardas y ya tienes soporte completo de widgets en tu theme.

Ahora bien, si tu theme tiene mas de un sidebar, y quieres que ambos tengan soporte de widgets, tendrás que modificar algo mas de código en functions.php. Para ello debes incluir este código o modificarlo para que tenga widgets en las dos columnas:

<?php
if ( function_exists(’register_sidebars’) )
register_sidebars(2);
?>

Y luego tienes que definir el orden de los sidebars para especificar si quieres que estén a la izquierda o a la derecha. Esto también lo haces en functions.php.

Para que estén a la izquierda …

<div id=”leftsidebar”>
<ul>
<?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar(1) ) : ?>
<li>
<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>
</li>

y a la derecha …

<div id=”rightsidebar”>
<ul>
<?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar(2) ) : ?>
<li>
<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>
</li>

Guardas y ya lo tienes.

Como siempre, te recomiendo que estas modificaciones no las hagas en «real» sino que hagas tus pruebas en una instalación local, y cuando veas que todo funciona como quieres ya lo subas a tu servidor.

Vía | UBH

(1 votos, promedio: 5) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

5 comentarios en “Añadir soporte de Widgets a una Plantilla”

  1. Hola un gran saludo, los felicito por su excelente blog.

    Una consulta, cada vez que uso un widget y lo coloco en el sidebar desde el panel de administración lo que esta arriba o abajo en el sidebar se me borra y solo queda el contenido del widget.

    Como lo puedo arreglar, osea que al usar un widget no elimine contenido del sidebar, y solo quede el widget usado.

    Saludos

    Mauro

  2. Una pregunta:
    Modifiqué mi tema para tener 3 diferentes barras laterales, pero cuando uso un widget en una de las barras, no lo puedo utilizar en ninguna otra.
    ejem. statpress, translate.
    ¿me podrian ayudar?
    Gracias
    Diana

  3. MI theme tiene más de un sidebar (3 en concreto), uno grande y más abajo dos columnas pequeñas (que juntas son del mismo ancho del anterior)…

    actualmente tiene habilitada la opción de uso de los widget en las dos pequeñas, pero a mi me interesa usarlas en el sidebar grande….

    Intente hacer lo que dicen aqui pero no me fue muy bien…

    hay alguna consideración que deba tener?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido