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<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.













3 comentarios en “Como crear un Plugin de Widgets para el Sidebar en WP 2.5”
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
OYE TU NO DIJISTE NADA.
Esto no sirve para nada, ni siquiera se en que lugar se crea el widget.
Escribe un Comentario
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 cojonesestupendamente. 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]
Último mensaje de: xMeNux
En el foro: General WordPress.org
Último mensaje de: Anonymousy
En el foro: Instalación / Actualización
Último mensaje de: Merlyn
En el foro: Themes y Diseño
Último mensaje de: Merlyn
En el foro: General WordPress.org
Último mensaje de: hiwebs
En el foro: Themes y Diseño
Acceder