Sergio Melzner

Comunicacion online

Enlaces de Bit.ly automáticos en WordPress

18-10-2009

Compartir con Bit.lyDespués de explicar cómo permitir a los visitantes/lectores que compartan el contenido en Facebook, que actualicen su estado en Twitter incluyendo un link a nuestro post y también cómo ofrecer una URL corta automáticamente con TinyURL quiero comentarles la forma -un tanto más compleja- de acortarlas con Bit.ly que tiene una amplia ventaja sobre sus predecesores.

Los beneficios son varios, pero vamos a necesitar pasar por un simple registro de usuario ya que se guardan historiales de enlaces compartidos, los clicks que tuvieron desde nuestro share, un conteo general (de acuerdo al link) y un par de cosas estadísticas más que interesantes.

¿Cómo lo hacemos? Buscamos el archivo en donde vayamos a incluir la URL acortada con Bit.ly y agregamos:

<?php
$url = get_permalink();
function make_bitly_url($url,$login,$appkey,$format = ‘xml’,$version = ’2.0.1′)
{ $bitly = ‘http://api.bit.ly/shorten?version=’.$version.’&amp;longUrl=’.urlencode($url).’&amp;login=’.$login.’&amp;apiKey=’.$appkey.’&amp;format=’.$format;
$response = file_get_contents($bitly);
if(strtolower($format) == ‘json’)
{ $json = @json_decode($response,true);
return $json['results'][$url]['shortUrl']; }
else  { $xml = simplexml_load_string($response);
return ‘http://bit.ly/’.$xml->results->nodeKeyVal->hash; } }
$short = make_bitly_url($url,’USER’,'API_KEY’,'json’);
?>

Utiliza JSON o XML, dependiendo de la disponibilidad. Comienza definiendo (fundamental para utilizarlo en wordpress) que $url = permalink , para que sepa qué tiene que acortar. Luego tendremos que reemplazar USER y API_KEY por nuestro nombre de usuario y API respectivamente. Igualmente y para ser resumidos, lo que hace es devolver una variable $short que utilizaremos donde queramos incluir la URL corta.

Entonces si queremos utilizarla como href en algún enlace podemos hacer algo como:

<a href=”<?php echo($short);?>”>ENLACE CORTO</a>

También por ejemplo podríamos utilizarlo para incluir un botón que les permita a nuestros lectores compartir nuestro post actualizando su estado en Twitter:

<a href=’http://twitter.com/home?status=Leo “<?php the_title() ?>” – <?php echo($short); ?>’>
<img src=”http://URL_BOTON” border=”0″>
</a>

Esto último está perfectamente explicado en un post dedicado exclusivamente a agregar enlaces para compartir en Twitter que los invito a leer para entender mejor el tema..