twitterfacebookgoogledribbblepinterestmyspacetumblrvimeoyoutubebehancegithubflickrforrstrssmail
Ultimas Entradas
LuxePad: Teclado Portátil Bluetooth Ultrafino para iPad check it out →

Crear un widget para WordPress

Una de las características que más me gustan de WordPress es su altísima configurabilidad. El ejemplo más claro es el poder definir un archivo que incluya todas las funciones (functions.php). En otras palabras functions.php es un archivo que forma parte del tema de WordPress y que nos da la posibilidad de implementar características adicionales a la presentación de nuestro blog.

La mayor parte de las veces este archivo sólo contiene el código que sirve para definirle a nuestra sidebar que esté lista para albergar en ella nuestros widgets. Vamos a ver como se crea uno.

El widget que voy a utilizar como ejemplo contiene los links a nuestros “feeds rss” de artículos y comentarios.

Un poco de teoría

Para definir y registrar un widget se utiliza la función register_sidebar_widget(string nombre, string nombredelafunción) donde nombredelafunción representa el nombre de la función que gestionará el widget y el nombre indica el nombre que queremos darle al widget. En los casos más simples la función nombredelafunción se ocupará de mandar un ouput del código HTML. En los casos más complejos se ocupará de gestionar también las opciones del widget.

La anatomía de un widget

Después de la introducción teórica, pasamos a editar nuestro functions.php y a definir la función que gestionará nuestro nuevo widget.

<?php
function myRSSfeed($args){
	extract($args);
	echo $before_widget;
	echo $before_title . 'Mis feed RSS' . $after_title;
	echo '<a href="'. get_bloginfo('rss2_url') . '">Articulos</a> - ';
	echo '<a href="'. get_bloginfo('comments_rss2_url') . '">Comentarios</a> ';
	echo $after_widget;
}
?>

Las variables $before_widget, $after_widget, $before_title y $after_title indican cómo será visualizado el widget y poseen los correspondientes valores señalados a través de register_sidebars, dadle un vistazo a la documentación oficial para esclarecer cualquier duda.

Registramos el widget

Después de haber definido la función que gestionará nuestro widget solo nos quedará hacerlo operativo, registrándolo utilizando esta función.

<?php
register_sidebar_widget('Mis feed rss', 'myRSSfeed');
?>

Ahora en nuestro panel de administración de widgets encontraremos nuestro nuevo widget listo para ser añadido.

Written by wbaseweb

4 Comments

  1. carlos campos · 20 mayo, 2009

    Hola, he intentado colocar en esta web con el menu aspecto y widget
    un feed rss de noticias, me da el error que el canal no existe, pero resulta que instale la misma version en otra web que tengo y funciona a la perfeccion, no se que pasa. podrias ayudarme?
    gracias

  2. Manuel · 28 mayo, 2009

    Que tal… al utilizar la función register_sidebar_widget(…) me dice estoy llamando a la funcion register_sidebar_widget que no esta definida…”Call to undefined function register_sidebar_widget() in…”

    Sabes como hacer para que si funcione? gracias!

  3. Faust · 21 enero, 2010

    Hola saludos, me salio muy bien, gracias por el tuto nos vemos.

  4. davidvicente · 5 mayo, 2010

    Hola a todos, muchas gracias por el post lo andaba buscando hace tiempo, sabrían decirme como hacer para que el widget fuese personalizable. muchas gracias.

Leave A Reply