Hace ya algunas semanas publicamos como autor invitado en el blog de nuestros buenos clientes y mejores amigos de Marketing Paradise Cómo compartir tus posts en redes sociales de forma automática. En ella os explicábamos cómo compartir las entradas que publicáis en vuestros sitios web de forma totalmente automática y gratis.

Pues bien, aunque ha sido más bien poco el tiempo transcurrido desde su publicación, han cambiado varias cosas en la forma de proceder para conseguir el objetivo propuesto.

Una de ellas es que ya no publicamos en el perfil personal de Google+ utilizando el plugin para WordPress Jetpack by WordPress.com, si no que utilizamos la nueva funcionalidad proporcionada por Buffer gracias al uso de un zap de Zapier.

Otra es que ya no usamos en IFTTT la conexión vía RSS si no vía WordPress, aunque en realidad accede exactamente a la misma información, nos ofrece un poco más de información específica como las etiquetas de las entradas.

IFTTT de Art Project Group

Pero el gran problema lo tuvimos cuando, de repente, el plugin que recomendamos para añadir las imágenes destacadas en el RSS, RSS Image Feed, dejó de funcionar. Pero no sólo eso, es que no nos funcionaba con ninguno de los muchos plugins para WordPress que probamos por lo que nos tuvimos que poner a buscar una solución, y rápida.

Solución

Para conseguir nuestro objetivo, que, como bien os explicamos en la entrada que publicamos en Marketing Paradise, es fundamental para que las entradas compartidas tengan la mejor apariencia posible, nos tuvimos que construir nuestra propia función PHP en el fichero functions.php del tema hijo.

La función PHP que utilizamos es exactamente esta:

/*Añadimos la imagen en el feed*/
function apg_imagen_rss( $context ) {
	global $post;
	
	if ( has_post_thumbnail( $post->ID ) ) {
		$context = '<div>' . get_the_post_thumbnail( $post->ID, 'full', array( 'style' => 'max-width: 100%; height:auto;' ) ) . '</div>' . wpautop( $context ) . wpautop( 'Fuente original: <a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a>' );
	}
	
	return $context;
}
// remove the Yoast RSS footer
add_filter( 'wpseo_include_rss_footer', '__return_false' );
add_filter( 'the_excerpt_rss', 'apg_imagen_rss', 50 );


En ella lo primero que hacemos es comprobar si la entrada tiene, o no, imagen destacada. En caso de tenerla reescribimos el contenido del RSS incluyendo una capa con la imagen destacada asegurándose que sea sensible gracias a un poco de CSS, el contenido actual del RSS y un enlace con la URL hacia el contenido original con el prefijo “Fuente original:”.

Además, para conseguir que nuestra función PHP funcionara sin problemas, tuvimos que bloquear totalmente al bueno de Yoast SEO, ya que él es el causante de que ninguno de los plugins testados funcionasen. La causa del problema es que Yoast SEO sobrescribe el filtro the_excerpt_rss, que es el que tenemos que utilizar para poder sobrescribir el contenido del RSS, por una función propia que hace imposible su reutilización.

Gracias a esta pequeña función PHP conseguimos que todo volviera a la normalidad y que todo funcionase como necesitamos que funcione. El resultado final de la misma lo puedes ver en nuestro feed.

Esperamos que os resulte útil este pequeño tutorial y que lo utilicéis en vuestros proyectos con WordPress.