Post Pic

Obtener el número de followers de Twitter en texto plano

twitter_followers

No le hagan mucho caso a mi versión zombie del pajarraco de Twitter, solo quería buscar una manera “personal” de ilustrar el post. Por otro lado, esta función ha sido creada por Peter Ivanov y resulta muy útil y sencillo poder implementarlo en nuestro WP..

En fin, el único valor que nos pide esta función es el nombre de usuario, si han visto mi perfil, el de Pablo que han publicado en este blog, se darán cuenta que en la parte de abajo se muestra el # de followers que tiene cada uno. Incluso para los colaboradores, en su perfil encontrarán el campo para poner sus tweets recientes y todo lo demás.

Ok, es muy sencillo lo que vamos a hacer es abrir el archivo functions.php de nuestro theme, recuerden que si no tienen uno pueden crearlo. En este archivo ponemos el siguiente código:

PHP:

  1. /**
  2. * Fetch the number of followers from twitter api
  3. *
  4. * @author Peter Ivanov
  5. * @copyright    http://www.ooyes.net
  6. * @version    0.2
  7. * @link http://www.ooyes.net
  8. * @param string $username
  9. * @return string
  10. */
  11. function twitter_followers_counter($username) {
  12. $cache_file = CACHEDIR . ‘twitter_followers_counter_’ . md5 ( $username );
  13. if (is_file ( $cache_file ) == false) {
  14. $cache_file_time = strtotime ( ‘1984-01-11 07:15’ );
  15. } else {
  16. $cache_file_time = filemtime ( $cache_file );
  17. }
  18. $now = strtotime ( date ( ‘Y-m-d H:i:s’ ) );
  19. $api_call = $cache_file_time;
  20. $difference = $now$api_call;
  21. $api_time_seconds = 1800;
  22. if ($difference>= $api_time_seconds) {
  23. $api_page = ‘http://twitter.com/users/show/’ . $username;
  24. $xml = file_get_contents ( $api_page );
  25. $profile = new SimpleXMLElement ( $xml );
  26. $count = $profile->followers_count;
  27. if (is_file ( $cache_file ) == true) {
  28. unlink ( $cache_file );
  29. }
  30. touch ( $cache_file );
  31. file_put_contents ( $cache_file, strval ( $count ) );
  32. return strval ( $count );
  33. } else {
  34. $count = file_get_contents ( $cache_file );
  35. return strval ( $count );
  36. }
  37. }

Ok, hasta ahí todo bien… ahora vamos a modificarlo un poco, en la línea 13 nos encontraremos con esto:

PHP:

  1. $cache_file = CACHEDIR . ‘twitter_followers_counter_’ . md5 ( $username );

Si lo dejamos así puede funcionar sin problemas, pero nuestro fichero se guardará en “root” y no me parece muy amigable, entonces lo que haremos será guardar este fichero en una carpeta llamada cache dentro del directorio de nuestro theme.

Entonces creamos una carpeta llamada cache dentro de nuestro theme, recuerden que debe tener los permisos 777 y el código lo reemplazamos por el siguiente:

PHP:

  1. $cache_file = “wp-content/themes/mi-theme/cache/” . ‘twitter_followers_counter_’ . md5 ( $username );

Donde mi-theme es el nombre de la carpeta de su theme.

Lo siguiente que haremos será mostrarlo en WordPress, mmm… abrimos el archivo sidebar.php y en el lugar que ustedes decidan ponemos lo siguiente:

PHP:

  1. <?php print twitter_followers_counter(‘NOMBRE_DE_USUARIO’) ?> Followers

Yo lo tengo de la siguiente manera:

PHP:

  1. <a href=“http://twitter.com/guiawordpress” title=“<?php _e(‘Follow me on Twitter’,’ifx’);?>”><strong><?php  print twitter_followers_counter(guiawordpress) ?></strong> <?php _e(‘followers’,‘ifx’);?></a>

Listo! Otra función más lista para agregar a nuestros themes, por cierto si quieren les dejo mi versión alternativa bizarra zombie

Entradas Relacionadas:


Deja un comentario

* Nombre, Email, son requeridos para comentarios.

Instapress Plugin