Lo mejor de utilizar WordPress es que hay una comunidad muy amplia de usuarios, de modo que tarde o temprano siempre terminan apareciendo plugins para hacer todo tipo de cosas. Uno en el que llevaba pensando hace tiempo era la integración del blog con Buzz.

Después del estrepitoso fracaso de Google Wave, Buzz es la última apuesta de Google por las redes sociales. Es más bien una especie de Twitter, pero sin la absurda limitación de 140 caracteres que impone este servicio.

No sé si está teniendo demasiado éxito, pero me gusta porque me sirve para compartir y publicar enlaces de artículos interesantes que leo y que no dan de sí para una entrada en este blog. Una foto suelta, una viñeta, o una noticia con una simple frase comentándola u opinando. Nada más.

El caso es que para escribir una entrada aquí suelo dedicar un tiempo del que con el final del curso no dispongo, pero para añadir un Buzz no hace falta más de cinco minutos, así que para darle algo de vida a este blog estos días pensé que sería buena idea que se visualizasen aquí mis “buzzeos“.

Para ello, buscando Google Buzz en el repositorio de plugins de WordPress aparecen varios resultados. Instalé tres distintos, y tras probarlos, el que más me convenció fue Google Buzz ER. Me decanté por éste porque no sólo se veía mejor que los otros plug-in’s sino que puedes insertarlo donde quieras simplemente llamando a < ?php GoogleBuzzEr(); ?>. El resto sólo podías agregarlos mediante widgets.

El principal inconveniente de Gooble Buzz ER (y del resto que probé) es que no muestra correctamente: fotos, reshares, actualizaciones del blog, ni los enlaces agregados a la entrada mediante el botón que ofrece Buzz. De esos, los tres primeros apenas me importaban, pero el del enlace sí, porque es como suelo compartir los links con Buzz.

Así que entre ayer y hoy he estado cacharreando con el código y al final he conseguido que se muestren estos links. Si a alguien le interesa, hay que añadir las siguientes líneas.

Primero buscamos function gb_getData(), donde encontraremos un bucle foreach($xml->entry as $data), y allí dentro, por la línea 110, estará $mediaAttr = $media->content->attributes();. Después de esta asignación tenemos que escribir:

$tmp['mediaurl'] = $mediaAttr['url'];
$tmp['mediaAttr'] = $mediaAttr;

Con eso ya hemos obtenido los datos del xml de nuestro perfil de buzz. Ahora vamos a la función que escribe esos datos function gb_printData($data). Allí tenemos cada Buzz representado de la siguiente forma:

<div class='gber_post'>
{$v['content']}
{$v['imgSrcCont']}
/** AQUÍ **/
<span class='gber_time'>{$this->gb_showTime(strtotime($v['updated']))}, </span>
<span class='gber_comment'><a href='{$v['href']}'>comment</a></span>
</div>";

La línea de /** AQUÍ **/ la he incluido yo y es dónde habría que añadir:

<a href='{$v['mediaurl']}'>{$v['mediatitle']}_link</a>

De esta forma se mostrarán correctamente los links incluidos en el Buzz mediante el botón correspondiente. Del resto de problemas sólo he intentado solucionar los reshares y las acualizaciones de sitios agregados como el blog, pero no he sido capaz de encontrar en el xml cómo demonios están enlazados estos datos.

Google Buzz ER está publicado por Ivan Lazarevic bajo licencia GNU, de modo que pongo a disposición de quien quiera la versión actual (1.4) con las modificaciones que he detallado anteriormente. Descargar Google Buzz ER modificado.