Wordpress 2.5 y los Widgets

Un Widget de WordPress es un elemento dinámico que puede situarse en las barras laterales (sidebars) de tu plantilla del blog. Un widget puede ser una pequeña muestra de código HTML también.

Los Widgets hacen mas flexibles los Plugins

Si escribes un plugin como widget tus usuarios serán mas capaces de mover tu plugin a donde quieran, colocándolo entre el resto de widgets. Esto es genial para los usuarios menos avanzados y ayudará a popularizar tu plugin recién creado.

Las barras laterales no son solo barras laterales

Aunque se llaman barras laterales también pueden ser cualquier bloque de la página. Una barra lateral puede ser una cabecera, el pié de página, incluso una sección de la página, lo que quieras. Además, es muy fácil “declarar” una barra lateral. Normalmente se declaran en el archivo functions.php.

Declarando tus barras laterales - Dentro de una plantilla

Por ejemplo, en una plantilla de 3 barras laterales, con las típicas a izquierda y derecha mas una superior, en el fichero functions.php se vería esto:

register_sidebar(array( 'name'=>'top_sidebar', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', )); register_sidebar(array( 'name'=>'left_sidebar', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', )); register_sidebar(array( 'name'=>'right_sidebar', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', ));

La documentación básica para registrar barras laterales está aquí. El nombre=>top_sidebar’ dice a Wordpress como llamo a mi barra lateral. Este nombre es el qeu se mostrará en tu panel de “Diseño -> Widgets”, en la lista desplegable de los mismos. También puedes usar este nombre para situar los widgets de la barra lateral en tu plantilla. Los usuarios van a poder elegir añadir widgets a cualquiera de las barras laterales “declaradas”. Los before_widget, after_widget, before_title, y after_title especifican html que va con el widget. Esto es muy útil para aplicar estilos a los widgets y que se adapten a tu plantilla.

Usando Dynamic Sidebars en tu plantilla

Para usar tus barras laterales en la plantilla debes llamar a la función dynamic_sidebar. Se hace así:

< ?php if (function_exists('dynamic_sidebar')) { dynamic_sidebar('right_sidebar'); } ?>

Esto dice a Wordpress que llame a las funciones que muestran los widgets que se añadan a, en este caso, la barra lateral llamada ‘right_sidebar’.

Un gancho en el que colgar tu Widget

Necesitarás decir a Wordpress algo acerca del widget de tu plugin. Para hacerlo declara la acción “plugins_loaded” así:

function mycoolplugin_loaded()
    {
        $widget_ops = array('classname' => 'misuperplugin_widget', 'description' => "Widget super para tu barra lateral." );
        wp_register_sidebar_widget('misuperplugin_widget', 'SuperPlugin', 'misuperplugin_widget', $widget_ops);
    {
    add_action('plugins_loaded','misuperplugin_loaded');

En el widget debes reemplazar “misuperplugin” con el nombre que tenga tu plugin, claro está. Y la descripción también es cosa tuya.

El código para mostrar tu Widget

En el código anterior especificamos misuperplugin_widget como la función de llamada que WordPress usará cuando quiera mostrar tu widget. Así que tendremos que declarar esta función y utilizarla par generar el código HTML de nuestro widget.

function misuperplugin_widget($args) { extract($args); // extracts before_widget,before_title,after_title,after_widget echo $before_widget . $before_title . 'SuperPlugin' . $after_title . "<ul>"; for ($i=0; $i&lt;10; $i++) { echo "<li>Elementos $i</li>"; } echo "</ul>" . $after_widget; }

Este widget solo mostrará un encabezado llamado “SuperPlugin” y luego una lista de 10 elementos. Por supuesto, debes hacer el tuyo mucho mas completo, pero eso ya es cosa tuya.

Gracias

¿Te gustó este post? ¡Compártelo!
  • Bitacoras.com
  • TwitThis
  • Facebook
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Live
  • Technorati
  • Ping.fm
  • Wikio
  • Turn this article into a PDF!
  • E-mail this story to a friend!
  • Print this article!

También te puede interesar:

cursos formación continua

    3 comentarios en “Como crear un Plugin de Widgets para el Sidebar en WP 2.5”

  1. Creo que os ha faltado decir dónde está el código que puedo modificar, ya que con los themes solo se puede añadir al CSS ya ceado o hacer uno nuevo. Lo que veo es como modificar el archivo functions.php al cual no puedo acceder o no se como. Me lo podriais comentar o en este artículo.
    Gracias

  2. La Flama (1 comentarios) dijo:

    OYE TU NO DIJISTE NADA.

  3. Raul Conda (1 comentarios) dijo:

    Esto no sirve para nada, ni siquiera se en que lugar se crea el widget. :P

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>



Subir

Expertos en WordPress
Euribor
Hardware. Software. Ocio & Multimedia. Humor. Internet. Videojuegos.Noticias
Participa en el Debate
  • Dani: Yo uso el panel de escritura de Wordpress, sin él me vería raro la verdad. Suelo usar...
  • eNedimensiones: ¡Por fin! ¡Cuánto tiempo esperando que se tomaran en serio bbPress!
  • Cuélebre: Uso Marsedit y desde el trabajo si tengo que escribir alguna entrada desde el propio...
  • Fernando Tellado: Se actualiza mas o menos como WordPress con alguna salvedad. Vale, preparo un...
  • Fernando Tellado: Muy bueno, si señor ;)
Noticias Breves
  • Si quieres aprender como hacer multitud de diseños distintos para WordPress no te pierdas esta estupenda recopilación de 26 tutoriales de diseño de blogs WordPress.

    [#3]

  • Acaba de salir a la luz la nueva versión de WordPress para iPhone 1.3, con soporte completo para el firmware de iPhone 3.0. Va de cojones estupendamente. Altamente recomendable esta actualización, que tienes en iTunes.

    [#1]

  • Me avisa Kike Alonso de un nuevo plugin que permite que los comentarios que dejen tus amigos de Friendfeed al respecto de un post de tu sitio WordPress aparezcan también en tu post como comentarios normales, algo realmente interesante pues permite, con algunos clientes de escritorio e iPhone, comentar en blogs sin dejar de usar la aplicación de mensajería.

    [#6]


  • Ahora mismo en los FOROS ...
    Usuarios Registrados
  • Acceder

  • Translate this Blog
    Spanish flagItalian flagChinese (Simplified) flagPortuguese flagEnglish flagGerman flagFrench flagJapanese flagRussian flagSwedish flagCatalan flagHebrew flag                              
    By N2H