Crear miniposts de tus tweets en WordPress

Hace justo 1 año publicaba «Casi» todas las formas de integrar Twitter en WordPress.

En este artí­culo proponemos una más, una solución para quienes desean automatizar la creación de un minipost en WordPress desde Twitter.

3 protagonistas:

1.- Twitter «“> 2.- RSS «“> 3.- WordPress

1.- Twitter

Si queremos crear posts desde Twitter lo más probable es que no queramos 1 post por cada tweet. Seguramente deseamos algún filtrado.

Manuel Almeida propuso crear un filtro a la importación de Twitter que hace el excelente plugin Twitter Tools:

Cómo convertir tus tuits en posts en WordPress | Mangas Verdes

Al parecer no funciona correctamente el filtro, sí­ que funciona si lo que quieres es crear un post de cada tweet, o un resumen diario o semanal de tu actividad en Twitter. En finaldechiste lo utilizo para publicar un resumen diario. Ej:

¿Cómo hacemos el filtrado? Lo lógico serí­a diferenciar esos tweets con alguna palabra o hashtag, cuanto más corto mejor.

Ejemplo: Chistes 2011-06-10

Utilizaremos la cuenta de twitter de la web finaldechiste para publicar un post cuando un tweet contenga el hashtag #fchiste

2.- RSS

Algunos creen que los RSS de twitter han desaparecido, lógico puesto que desde Twitter así­ se indica:

«Twitter ha dejado de dar soporte a la autenticación básica ví­a RSS en favor de la autenticación OAuth, un método que permite a las aplicaciones acceder a tu cuenta sin darles tu contraseña.» (Cómo encontrar tu canal de RSS en el Centro de Ayuda oficial de Twitter)

Sin embargo seguimos teniendo un canal RSS de cada cuenta simplemente sustituye «finaldechiste» por tu usuario:

http://twitter.com/statuses/user_timeline/finaldechiste.rss

Este canal nos dará todo nuestro TL pero lo que buscamos es filtrar sólo los tweets que contengan un hashtag determinado.

Tenemos 2 opciones.

2.1.- Filtrar RSS de Twitter con Yahoo! Pipes

Podemos modificar nuestro RSS con Yahoo! Pipes obteniendo un nuevo RSS

twitter-rss-wordpress

En el ejemplo he añadido dos RSS de Twitter el de finaldechiste y el de ceslava, podrí­a en el módulo filter bloquear tweets o hacer mil cosas más.

El resultado está publicado en

http://pipes.yahoo.com/ceslava/chistetwitter

Y desde ahí­ podemos obtener el nuevo RSS con el filtro deseado

twitter-rss-wordpress

2.2.- Crear RSS desde Twitter Search

Otra opción más cómoda serí­a ir al buscador de Twitter y en las opciones avanzadas:

twitter-rss-wordpress 

O simplemente cambiando el hashtag y el usuario buscar este string:

twitter-rss-wordpress

De cada búsqueda podemos obtener nuestro RSS

3.- WordPress

Ahora que ya tenemos nuestro RSS que muestra sólo los tweets que contienen un hashtag debemos convertirlos en posts.

3.1.- Mostrar los tweets

Este RSS lo podemos utilizar con la función nativa de WP y mostrarlo donde queramos incluyendo este código en el archivo functions.php

   1: function mostrar_twitter($numero) {

   2: $GLOBALS['normalizeChars'] = array(

   3:     'á'=>'a',  'é'=>'e', 'í­'=>'i', 'ó'=>'o', 'ú'=>'u', '...'=>'', '¿'=>'');

   4: function cleanForShortURL($toClean) {

   5: $toClean     =     str_replace('&', '-and-', $toClean);

   6: $toClean     =     str_replace(' ', '+', $toClean);

   7: $toClean     =     str_replace('--', '-', $toClean);

   8: $toClean     =     str_replace('...', '', $toClean);

   9: $toClean     =     str_replace('#', '', $toClean);

  10:    

  11:    

  12: return strtr($toClean, $GLOBALS['normalizeChars']);

  13: }

  14:     

  15: include_once(ABSPATH.WPINC.'/rss.php');

  16: $titulo = get_the_title(); 

  17: $titulo2 = cleanForShortURL ($titulo);

  18: echo $twitter;

  19: $twitter = 'http://search.twitter.com/search.atom?lang=all&q="'. $titulo2 .'"';

  20: $feed = fetch_rss($twitter);

  21: if (!empty($feed)){

  22: $items = array_slice($feed->items, 0, $numero);

  23:  }

  24: if (!empty($items)) :  foreach ($items as $item) : ?>

  25:  

  26: <li><?php echo $item['title']; ?></li>

  27:  

  28: <?php endforeach; endif; }

La función anterior la utilizo en finaldechiste para mostrar los tweets que contienen el tí­tulo del post.

Recuerda cambiar la lí­nea 19 con tu RSS, luego no tendrás más que incluir

mostrar_twitter(5) para mostrar los útimos 5 elementos de ese RSS en el sidebar, el pié, al final de cada post, en una página o donde quieras.

3.2.- Crear posts con los tweets

Realmente este era nuestro propósito inicial, convertir «algunos» de nuestros tweets en posts.

Una opción es con el plugin FeedWordPress, incluimos el RSS obtenido con cualquiera de los métodos del punto 2 y configuramos las opciones.

De las muchas opciones nos interesan sobre todo:

  • Posibilidad de programar actualizaciones o dejarlo en manual
  • Dejarlos sin publicar, como borrador
  • Asignar cada post a una categorí­a determinada de forma que podamos configurarle un formato personalizado
  • Asignar cada post a un Custom Type Post
  • Asignar un autor

3.3.- Darle formato de minipost

Si queremos que esos tweets que hemos convertido en posts tengan formato de miniposts podemos utilizar esta función. Se servirá de la categorí­a especí­fica a la que hemos asignado los posts con FeedWordPress.

twitter-rss-wordpress

Obtenemos el ID de esa categorí­a, en mi caso tweets y su ID es 875 e introducimos este código en el loop

   1: <?php if (in_category(875)) { ?>

   2: <div class="blog">

   3:     <blockquote>

   4:         <?php the_content(); ?>

   5:     </blockquote>

   6: </div>

   7: <?php } else { ?>

De esta forma esos miniposts tendrán un estilo diferente:

 

twitter-rss-wordpress

Dicotomí­as tuiteras en pqpq.es

Cursos de Twitter y de WordPress

En video2brain tenemos cursos prácticamente de todo, el curso de WordPress viene de la mano de Armando Sotoca y el curso de Twitter es totalmente gratuito.

Si los quieres todos hazte con una suscripción desde 189€

También gestionamos las ayudas para Formación para trabajadores de la Fundación Tripartita. Con ellas nuestros cursos te salen completamente gratis. Si necesitáis más información sobre los cursos contactad conmigo

Por cierto, mi twitter es @ceslava :)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *