Imagen FeedAyuda WordPress | VideoTutorial - Reparar bases de datos desde PHPMyAdmin

Publicado por Fernando Tellado | 25 Julio 2008

Como Añadir Widgets al Footer

Últimamente es hasta habitual encontrarse con blogs en los que hay widgets en el pié de página, son prácticos pues añade un área en la que incluir bloques de información que igual no quedarían bien en la barra lateral.

Es interesante tener widgets en el fondo del blog, por ejemplo, para poner enlaces a otros artículos del blog o quizás para añadir información sobre ti mismo. En este tutorial vamos a crear 3 áreas de widget en el pié de página que podrán editarse desde el panel de administración. Usaremos la plantilla por defecto de WordPress: Kubrick.

Paso 1 Crea el CSS

Lo primero que tenemos que hacer es crear el CSS del área del pié de página. Abre el archivo "style.css" de la plantilla Kubrick en tu editor de código para añadirle el siguiente código, lo llamaremos subfooter:

CSS:
  1. #subfooter {
  2. width:730px;
  3. margin-left:15px;
  4. margin-right:15px;
  5. height:300px;
  6. background-color:#d5d6d7;
  7. clear:both;
  8. }
  9. #subfooter .widget {
  10. width:240px;
  11. height:300px;
  12. float:left;
  13. }
  14. #subfooter .widget .inner {
  15. padding:10px;
  16. }

El código anterior crea un área llamada subfooter y una clase widget, en el código HTML, en la que añadiremos las tres instancias de la clase widget y con la opción float:left; se alinearán uno junto al otro.

-

Paso 2 El HTML

Abre el archivo "footer.php" y añade el siguiente código antes del código <div id=”footer”>:

PHP:
  1. <div id="subfooter">
  2. <div class="widget"><div class="inner">
  3. Widget 1
  4. </div></div>
  5. <div class="widget"><div class="inner">
  6. Widget 2
  7. </div></div>
  8. <div class="widget"><div class="inner">
  9. Widget 3
  10. </div></div>
  11. </div>

Ahora, si observas el blog podrás ver al fondo de la página algo que se parezca a esto:

Paso 3 Haciendo que admita Widgets

En este momento aún no está listo para widgets, lo que significa que tendrías que añadir código manualmente en cada widget en el fichero "footer.php". En este paso vamos a ver como hacer que admita widgets para que puedas añadirlos desde la sección "Diseño -> Widgets" de tu panel de administración. Para hacerlo usaremos el fichero "functions.php" como hemos visto en otras ocasiones. Abre este archivo en tu editor de código.

Verás en la parte superior del fichero "functions.php" lo siguiente:

PHP:
  1. <?php
  2. if ( function_exists('register_sidebar') )
  3. register_sidebar(array(
  4. 'before_widget' => '<li id="%1$s" class="widget %2$s">',
  5. 'after_widget' => '</li>',
  6. 'before_title' => '<h2 class="widgettitle">',
  7. 'after_title' => '</h2>',
  8. ));

Cámbialo a esto otro:

PHP:
  1. <?php
  2. if ( function_exists('register_sidebar') )
  3. register_sidebar(array(
  4. 'before_widget' => '<li id="%1$s" class="widget %2$s">',
  5. 'after_widget' => '</li>',
  6. 'before_title' => '<h2 class="widgettitle">',
  7. 'after_title' => '</h2>',
  8. ));
  9. register_sidebar(array('name'=>'subfooterleft'));
  10. register_sidebar(array('name'=>'subfootercenter'));
  11. register_sidebar(array('name'=>'subfooterright'));

Lo que hemos hecho es registrar 3 barras laterales llamadas subfooterleft, subfootercenter y subfooterright que corresponderán a los widgets izquierdo, central y derecho del subfooter.

A continuación hay que hacer que el footer sea "widget ready". Para eso también añadiremos, en vez de lo comentado en el punto 2, lo siguiente:

Sustituimos Widget 1 por …

PHP:
  1. <?php if ( !function_exists('dynamic_sidebar')
  2.         || !dynamic_sidebar('subfooterleft') ) : ?>
  3. <?php endif; ?>

Sustituimos Widget 2 por …

PHP:
  1. <?php if ( !function_exists('dynamic_sidebar')
  2.         || !dynamic_sidebar('subfootercenter') ) : ?>
  3. <?php endif; ?>

… y Widget 3 por esto otro:

PHP:
  1. <?php if ( !function_exists('dynamic_sidebar')
  2.         || !dynamic_sidebar('subfooterright') ) : ?>
  3. <?php endif; ?>

Paso 4 Añadiendo los Widgets

Para añadir los widgets tienes que ir al panel de administración, al apartado "Diseño -> Widgets". Veras un menú desplegable, haces clic en el y verás 3 opciones nuevas:

Ya sabes como se hace, eliges una de las opciones que inlcuimos en el subfooter y puedes ir añadiendo widgets a esa barra lateral especial. Eso si, añade solo un widget por cada área del subfooter.

Si vas ahora a tu blog deberías ver algo similar a lo de esta captura:

Paso 5 Mejorando su Aspecto

Ya lo tenemos configurado y funcionando, pero seguro que no tiene un aspecto todo lo interesante que desearíamos.

Añádele el siguiente código al fichero "style.css" para mejorarlo:

CSS:
  1. #subfooter li {
  2. list-style-type: none;
  3. list-style-image: none;
  4. }
  5.  
  6. #subfooter li ul {
  7. padding-left:0px;
  8. font-size:12px;
  9. }
  10.  
  11. #subfooter a {
  12. padding:5px;
  13. width:90%;
  14. text-decoration:none;
  15. clear:both;
  16. display:block;
  17. }
  18.  
  19. #subfooter a:hover {
  20. background-color:#1a6198;
  21. color:#FFFFFF;
  22. }

Resultado

Y así es como queda, un estupendo subfooter listo para widgets en WordPress.

Si quieres puedes descargar los archivos modificados de la plantilla Kubrick aquí en formato .zip y revisar el código para adaptarlo como desees.

Gracias

Modificado para aceptar widgets dinámicos (gracias NachitoX)

También te puede interesar:

11 comentarios | Escribe un comentario

  1. Nachitox (28 comentarios) - 25/07/2008 a las 1:11

    Eres un as Fernando! Que buen post, disfruté mucho. Muchas gracias. Y también gracias a todo el equipo de Ayuda WordPress.

  2. Nachitox (28 comentarios) - 25/07/2008 a las 20:18

    Fernando, estás seguro de que no te faltó algo?

  3. Nachitox (28 comentarios) - 26/07/2008 a las 17:01

    Antes de agregar el primer div, agregas esto:

    Es para llamar la función que creamos en el archivo “functions.php”

  4. Nachitox (28 comentarios) - 26/07/2008 a las 22:27

    De nada, solo quería ayudar a todo el que quiera llevar a la práctica este post. Y otra cosa, la última, jeje. Donde pusiste “Y widget 2 por esto otro…” debería ser “Y widget 3 por esto otro…” xD.

  5. Fernando Tellado (1039 comentarios) - 27/07/2008 a las 0:32

    Jodo con las prisas :roll:

    Lo cambio, y gracias.

  6. Nachitox (28 comentarios) - 27/07/2008 a las 17:36

    De nada…

  7. Danny (3 comentarios) - 2/08/2008 a las 22:33

    Hombre que buen tutorial, me sirvió no para hacer un footer sino una zona de videos que no estaba contemplada en el theme de mi blog.

    Sino hubiese sido por esta estupenda ayuda no se en que andaría. miren ahi esta en http://masmuisca.info en la zona donde dice "Videos destacados" eso fue el widget que creé ya que el sideber estaba con ello pero esa zona nop.

    gracias y los sigo leyendo.

  8. Amattajm (13 comentarios) - 19/09/2008 a las 22:26

    Esto está muy bueno, y me viene muy bien para un theme que estoy haciendo, pero tengo un problema.

    Mi theme tiene dos sidebar, y en el archivo functions.php dice lo siguiente:

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

    Como tengo que modificarlo?
    Porque poniendo como dice en el post, y agregando algo como:

    register_sidebar(array('name'=>'sidebar_der'));

    (teniendo un archivo llamado sidebar_der.php), no me funciona, convierte a todas las palabras en links…

  9. Harold (17 comentarios) - 21/09/2008 a las 19:31

    Me pasa lo mismo que Amattajm tengo un plntilla con con dos columnas que podemos hacer ??

  10. Nachitox (28 comentarios) - 27/09/2008 a las 2:01

    @Amattajm & @Harold: ese código que mencionan deben agregarlo al fichero functions.php.

    Se saltan alguna líneas y agregan el código.

  11. CorpseOfSteel (1 comentarios) - 29/09/2008 a las 10:58

    Muchas gracias, me vino muy bien!

Escribe un comentario




XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

LO ÚLTIMO EN LOS FOROS

Loading...

-->