Mostrar RSS feed en una entrada de WordPress

De verdad que esto no lo he usado nunca, de hecho ni se me ocurre para qué pueda servir, pero seguro que tu le encuentras utilidad.

Me refiero a que, mediante un shortcode puedas mostrar en cualquier parte de una entrada enlaces a publicaciones de un feed RSS.

Si te animas el truco está en añadir este código al fichero functions.php de tu tema (como siempre) o a tu plugin de funciones:

//Es imprescindible que exista ese fichero para poder llamar a la función wp_rss().
include_once(ABSPATH.WPINC.'/rss.php');

function ver_RSS($atts) {
    extract(shortcode_atts(array(
	"feed" => 'http://',
      "num" => '1',
    ), $atts));

    return wp_rss($feed, $num);
}

add_shortcode('rss', 'ver_RSS');

Luego solo tienes que usar el nuevo shortcode de este modo:

[rss feed="http://feeds.feedburner.com/AyudaWordPress" num="3"]

La variable “num” la decides tu con el número de enlaces que se visualizarán.

¡Ah!, y si se te ocurre una situación (razonable) para usar este truco me lo cuentas, que no lo pillo, hoy debo estar espeso.

Añade cualquier cosa al final de las entradas

A estas alturas ya sabrás lo engorroso que es, cuando cambias de tema en WordPress, ir recuperando todos esos códigos que has insertado en los distintos ficheros del tema anterior para que también estén en el nuevo.

Por supuesto, un modo de evitar este molesto proceso es el uso de plugins para la mayoría de las cosas pero no siempre es una opción válida.

Una de estas situaciones, muy típicas, es esos códigos que añadimos al final de nuestras entradas, ya sean scripts de Adsense, códigos donde se cuenta quien ha escrito la entrada, textos para animar a suscribirse al feed RSS, para seguirnos en Twitter o cualquier cosa que se te ocurra.

Normalmente, para esto, editamos el fichero single.php del tema y añadimos ahí lo que sea, pero para tenerlo más ordenado lo haremos de manera más elegante.

Es en estos casos cuando lo mejor es usar nuestro plugin de funciones, o editar el fichero functions.php del tema, que luego podremos usar en el nuevo.

El código a añadir sería algo así:

// Código/texto al final de las entradas en single
function texto_al_final($content) {
	if (is_single()) {
		$content .= '<p><div id="caja-suscribir-post">Si no te quieres perder nada suscríbete a <a title="Suscríbete a Ayuda WordPress" href="http://feeds.feedburner.com/ayudawordpress">Ayuda WordPress</a></div></p>';
	}
	return $content;
}

add_filter ('the_content', 'texto_al_final', 0);

Luego, por supuesto, lo “tuneas” a tu gusto.

Excluir artículos del feed de WordPress

Hace ya tiempo que vimos como excluir categorías del feed RSS pero ¿y si lo que quieres es excluir solo ciertos artículos?, que esas entradas que no aportan nada a tus suscriptores, vayan en la categoría que vayan.

Pues se puede …

De nuevo recurriremos al plugin de funciones, o el archivo functions.php para añadirle este código:

// Excluir posts del feed por ID
function excluir_posts_feed($where, $wp_query = NULL) {
	global $wpdb;
	if ( !$wp_query )
		global $wp_query;
	if ($wp_query->is_feed) {
		// excluye los posts con ID 145 y 657
		$where .= " AND $wpdb->posts.ID NOT IN (144, 657)";
	}
	return $where;
	}
add_filter( 'posts_where','excluir_posts_feed', 1, 2 );

Como ya imaginas tienes que adaptarlo a tus necesidades, eligiendo los ID de las entradas que quieres excluir en vez de los del ejemplo y, más adelante, ir añadiendo los que quieras seguir excluyendo.

Exportar usuarios de WordPress

Hace unos días preguntaban en el foro cómo extraer los suscriptores de un WordPress para acciones de márketing y, rebuscando por ahí y por allá encontré algunas posibles soluciones, que debes usar siempre con permiso de los usuarios por supuesto.

Si tienes permiso de los usuarios registrados, mediante la aceptación de condiciones o similar, puedes exportar los suscriptores a tu sitio de diversas maneras, dependiendo de donde estés y lo que quieras. Vamos a verlo …

1. Exportar los suscriptores al feed RSS

Esto es muy solicitado, y la mejor opción es usar Feedburner para administrar tus suscriptores RSS. Si así fuera ya lo tienes todo prácticamente hecho.

Si lo has configurado adecuadamente, en la pestaña llamada “Publicize” tendrás la opción de “Suscripciones por email” y, abajo del todo, justo antes de la lista de suscriptores, tendrás el enlace que necesitas: Export CSV, que genera un fichero con extensión .csv que puedes abrir con Excel o cualquier otra aplicación de hoja de cálculo, o tu editor de texto preferido.

2. Exportar suscriptores de WordPress.com

Si tu sitio está alojado en WordPress.com también puedes exportar los suscriptores asociados a tu web mediante el sistema integrado.

El proceso es este:

  1. Escritorio
  2. Estadísticas del sitio
  3. Pestaña “Totals, shares, followers”
  4. Clic en “Blog followers”
  5. En la siguiente pantalla clic en “Email followers”
  6. Clic en “Descargar todo como CSV”

Y ya lo tienes.

3. Exportar usuarios de WordPress alojado con plugin

Hay varios que puedes usar, pero uno realmente capaz, que supone un paso más en la exportación de usuarios es Users to CSV, pues no solo te permite exportar los usuarios registrados sino también los visitantes que han dejado alguna vez un comentario en tu web, ahí es nada.

Además es megasencillo de usar, lo instalas, lo activas y, en la página del plugin, tienes los enlaces para exportar tus usuarios o comentaristas a CSV.

4. Exportar desde Contact Form 7

Aunque es un uso especializado, como se que muchos usáis este plugin de formularios, sencillo y eficaz, seguro que alguna vez te has preguntado como guardar un histórico de los visitantes que te han enviado alguna vez un formulario.

Pues bien, hay un plugin, Contact Form 7 to Database, que guardar los formularios en la base de datos y te permite visualizarlos en cualquier momento y, lo que es mejor, exportarlos, desde el mismo plugin o con el procedimiento siguiente que te cuento al final.

5. Exportar usuarios desde la base de datos

Si no te vale ninguna opción de las anteriores siempre puedes acceder a la base de datos y hacer la exportación desde PHPmyAdmin, el gestor de bases de datos MySQL.

En cada alojamiento cambia el sitio desde donde se accede, pregunta a tu proveedor si lo desconoces.

Una vez en PHPmyAdmin elige la base de datos de tu WordPress y, en la ventana principal, selecciona la pestaña llamada “Query” (o Buscar):

De la lista de tablas elige la llamada “wp_users” (si cambiaste el prefijo sería otro, claro):

A continuación elige el orden de la búsqueda (query), que podría ser así para una lista de correo:

Haz clic en “Update Query” y verás algo así:

Si es lo que buscabas haz clic en “Submit Query” y tendrás la lista de usuarios en el orden y clasificación que hayas elegido:

Haz clic ahora en “Select all” (al final de la lista) y, a continuación, en el botón “Export“. En la siguiente ventana podrás definir el tipo de fichero al que se exportará, lo que ya es elección tuya:

¡Y ya lo tienes!

Nota importante: Siempre haz copia de seguridad de tu base de datos antes de usar este tipo de trucos que trabajan sobre la misma base de datos, por si las moscas o se te va el clic a donde no debía.

Notas y capturas de exportación desde base de datos gracias a aivault

Miniaturas de entrada en el feed (plugin)

Nuestros amigos de Mecus han publicado en el repositorio oficial un plugin, Post thumbnails in feed, que permite mostrar las miniaturas de imagen (imágenes destacadas) en el RSS de un WordPress.

La configuración es sencilla, solo tienes que elegir el tamaño a mostrar de miniatura (o menos), como hacíamos con el código de como poner imágenes destacadas en el feed.

Ahora ya puedes hacerlo a mano o con plugin.

Contenido exclusivo para tus lectores por RSS

Es cierto que no es la primera vez que comparto un truco para hacer esto de publicar contenido exclusivo para los lectores de tu feed, pero si la otra vez nos servíamos de un plugin ahora vamos a ver como hacerlo con un simple shortcode.

Conseguirlo es bien sencillo. Lo primero que hay que hacer es crear la función para el shortcode, y para ello abriremos el fichero .php de tu tema activo y le añadimos este :

PHP:
  1. function solofeed_shortcode( $atts, $content = null) {
  2.     if (!is_()) return "";
  3.     return $content;
  4. }
  5. add_shortcode('solofeed', 'solofeed_shortcode');

Con esto hemos creado un shortcode llamado 'solofeed' que, al usarlo en cualquier entrada determinará que parte del contenido no será visible en nuestro sitio pero si para los lectores del feed .

Por ejemplo, algo así … 

… lo que sea, esto y lo otro y aquí se acabó mi entrada … 
[solofeed]Querido lector de RSS, por tu fidelidad aquí tienes un enlace de descuento a mi último libro[/solofeed]

Chulo ¿eh?

Esta virguería la podemos disfrutar gracias a Konstantin

Elimina los RSS feeds completamente en WordPress

Puede haber situaciones en que no quieras ofrecer, para algún sitio en particular, un RSS feed a tus lectores. No es algo tan extraño en estos días en que el uso de feeds ha quedado para usuarios avanzados de la red, pues el resto siguen blogs y perfiles a través de las redes sociales.

En fin, que si te encuentras con esa necesidad el proceso es realmente sencillo, solo tienes que añadir un código al fichero functions.php de tu tema activo, el siguiente …

PHP:
  1. function disable_all_feeds() {
  2.    wp_die( __('Lo siento, nuestro contenido no está disponible mediante RSS. Por favor, visita <a href="'. get_bloginfo('url') .'">la web</a> para leerla') );
  3. }
  4.  
  5. add_action('do_feed', 'disable_all_feeds', 1);
  6. add_action('do_feed_rdf', 'disable_all_feeds', 1);
  7. add_action('do_feed_rss', 'disable_all_feeds', 1);
  8. add_action('do_feed_rss2', 'disable_all_feeds', 1);
  9. add_action('do_feed_atom', 'disable_all_feeds', 1);

Como crear un agregador de blogs respetuoso con las fuentes

Ya expliqué hace tiempo los sistemas de creación de entradas desde feeds RSS pero se quedó un poco corta la entrada, pues me limité a citar los distintos plugins o scripts que permitían la importación de contenidos, hoy quiero contaros una experiencia concreta de como llevar a cabo un agregador de blogs, un planeta si preferís llamarlo así, que respete las fuentes de los contenidos.

Me estoy refiriendo al agregador de blogs de UPyD que creé hace unos días, que creo es un buen ejemplo de como crear una web de este tipo de manera respetuosa. El paso a paso sería más o menos así …

  1. Elige una temática bien definida para el agregador. Un sitio de este tipo solo tiene sentido si concentra publicaciones de una categoría específica y permite a los visitantes encontrar en un solo lugar la información más relevante acerca de los temas de su interés. De nada vale un agregador "de todo un poco", para eso ya tenemos los portales de información general. ¡Segmenta!.
  2. Elegir un tema estilo revista (o magazine), que entiendo son los más adecuados para este tipo de webs que van a mostrar mucho contenido. En un tema formato blog no se mostraría en todo su esplendor la cantidad de publicaciones que vamos a compartir. Además, este tipo de temas ya vienen preparados para dos cuestiones vitales:
    • Normalmente solo muestran los extractos de las entradas
    • Suelen tener un sistema de publicación automática de una miniatura de la imagen que ilustrará el extracto

    Esto es importante porque lo que vamos a procurar es no robar visitas a los sitios generadores del contenido ofreciendo los textos completos sino solo extractos y una imagen que anime a visitar la web original.

    También, por supuesto, podemos hacerlo con cualquier tema, simplemente editando el fichero 'index.php' y, donde encontremos …

    PHP:
    1. <? php the_content(); ?>

    lo sustituimos por …

    PHP:
    1. <? php the_excerpt(); ?>

    Con esto conseguimos mostrar solo parte de la entrada, requiriendo hacer clic para verla completa.

    En el agregador de la blogosfera de UPyD he elegido Magazine Basic de Bavota San ya que, además, permite elegir entre varias estructuras y me pareció muy interesante una de ellas que destaca mucho la publicación más reciente, un poco menos las dos siguientes más actualizadas y menos para el resto, además de ser bastante personalizable y fácil de usar.

  3. Lo siguiente es instalar un sistema que importe entradas de otros sitios. A estos efectos el más actualizado, sencillo y configurable es FeedWordPress. Una vez instalado solo hay que ir añadiendo las URLs de los sitios que queremos promocionar desde nuestro agregador. El plugin te permite añadirlos uno a uno o en bloque, lo que facilita mucho las cosas. Además, no hace falta que conozcas la dirección del feed RSS de los sitios, simplemente añades la URL y el plugin detecta los feeds disponibles, tu simplemente eliges cual es que vas a utilizar.

    Luego, puedes configurar un montón de personalizaciones para cada feed o globales, como cada cuanto buscará el plugin nuevas entradas, si los títulos de las entradas enlazarán a la copia local o el sitio original, si en los posts generados se permitirán pingbacks y comentarios y mucho más.

    Aquí, para que nuestro agregador sea respetuoso con las fuentes, debes marcar siempre las opciones de que los enlaces siempre dirijan a la fuente original, y que no se permitan comentarios y/o pingbacks en tu agregador. De este modo fuerzas al visitante a leer el artículo completo en el sitio original, reconociendo la autoría.

    Hay muchas más opciones, pero estas son las vitales para un agregador respetuoso.

  4. Hay ocasiones en que FeedWordPress tiene la mala costumbre de publicar entradas duplicadas, así que si ves que te pasa esto instala también el plugin FeedWordPress duplicate post filter, que revisa la base de datos en tiempo real y borra los posibles duplicados. No obstante, no lo recomiendo por defecto, solo si ves que te pasa, porque en algunos servidores este plugin a veces bloquea las actualizaciones de FeedWordPress. Te toca probar.
  5. Siempre, siempre, pregunta a los sitios que quieres incluir en tu agregador si están de acuerdo en que sus publicaciones sean incluidas en tu planeta. Crear un agregador eficaz y respetuoso con las fuentes les ofrecerá más visitas y mejorará su "link building" y posicionamiento, pero la elección es del creador del contenido original, que no se te olvide.
  6. Elige bien los sitios a incluir en el agregador. Los sitios "donantes" de contenido deben actualizarse frecuentemente y estar muy centrados en la temática elegida para aportar valor a los visitantes y a los mismos aportadores de contenido. Si el visitante no ve satisfechas sus expectativas de información segmentada y clasificada se buscará otro lugar donde encontrar la información de su interés.
  7. Crea una página bien visible con un formulario de contacto para que cualquiera pueda ofrecer su sitio (relacionado con la temática) para aparecer también en el agregador. Con esto crecerá la visibilidad, aportarás más valor al agregador y darás más beneficios a los sitios incluidos.
  8. Fuerza que los enlaces se abran en una nueva ventana (o pestaña) siempre. El objetivo de esto es para que el visitante habitual del agregador no pierda el foco del sitio cuando quiera revisar una noticia concreta, y que le sea más fácil luego revisar más noticias de su interés. Para ello te recomiendo usar el plugin Open external links in a new window ya que cumple XHTML estricto y si un navegador no soporta Javascript no devuelve errores. Simple y efectivo.
  9. Difunde - más si cabe - el contenido creando una cuenta de Twitter y una página de Facebook que publiquen automáticamente los contenidos del agregador. Con Tweetable tienes todo lo que necesitas para Twitter y para Facebook y otras redes prueba alguna de estas posibilidades o esta guía de mi compañero David. Con esto, que tampoco te quitará tiempo, ayudas a atraer visitas también y a difundir el contenido.
  10. No instales ningún plugin de SEO en el WordPress del agregador, recuerda que el objetivo es ceder visitas y posicionamiento a los creadores de contenidos, no atraerlo hacia el agregador. Además, este tipo de sitios, por lo segmentado de la información y frecuencia de actualizaciones, ya suelen atraer bastante bien a los buscadores pues los alimentan de contenido frecuente y en gran cantidad, lo que no es tampoco malo en sí mismo pues a su vez facilitará la popularidad (compartida) de las fuentes del contenido.
  11. Ofrece una versión móvil del sitio con WPTouch y WiPad, que no se te olvide facilitar la visualización a los usuarios siempre conectados. Con esto también aportarás valor, ofreciendo funcionalidades que muchas veces los generadores de contenidos no están ofreciendo y, como siempre, las visitas les siguen llegando a ellos.

Y eso es todo, a partir de que lo montes y, si quieres, lo personalices un poco, tendrás un sitio que se actualiza solo con el contenido de los sitios originales. Solo tendrás que incluir nuevos sitios que soliciten su inclusión y, de vez en cuando, revisar la pantalla de feeds sindicados para comprobar que las actualizaciones se están automatizando normalmente y sin errores (a veces pasa que hay feeds originales que tienen fallos y dejan de sindicarse).

Además, este tipo de agregadores, cuando se hacen bien, he comprobado producen unos interesantes (y buenos) efectos colaterales, a saber …

  • Los generadores de contenido se fuerzan en actualizar más sus sitios para "ganar portada" gracias a la distribución de entradas de los temas de estilo revista, que suelen dar más visibilidad a las entradas más recientes.
  • Enseñan a los generadores de contenido a crear mejores titulares, pues el agregador les permite compararse - a efectos de visibilidad - con sitios de contenido similar y aprenden la importancia de un buen titular.
  • Generan comunidad, pues a los mismos generadores de contenido les muestra otros sitios que tratan su misma temática que muchas veces desconocían.
  • Enseña a los generadores de contenido que una imagen vale más que mil palabras, animándoles a acompañar siempre sus entradas con imágenes que ilustren el contenido y, en el agregador, atraigan visitas.

Personalmente estoy muy contento con como ha quedado el agregador de blogs de UPyD, y los generadores de los contenidos ahí publicados están muy satisfechos con el aumento de visitas y visibilidad de sus blogs.

¡Que lo pases bien y respetes a los creadores de contenido!

Soporte de RSS para etiquetas con FeedBurner y WordPress

i love feedburner 470x323 Soporte de RSS para etiquetas con FeedBurner y WordPressJusto ayer me alertaban de un problema desde que active el plugin Feed Smith para Feedburner que permite redireccionar la sindicación RSS de mi blog hacia el servicio ahora de Google. El caso es que este plugin no soporta la sindicación de etiquetas lo que ha provocado que el planeta wordpress muestre todos nuestros artículos y no solo los que estaban con la etiqueta “wordpress”.

La solución es sencilla y pasa por modificar el plugin de forma manual. En mi caso tengo la versión 2.3.1 de FeedSmith instalada y el fichero a editar es “FeedBurner_FeedSmith_Plugin.php” donde en la línea 112 nos encontramos el siguiente código (sin los [.....]:

if (is_feed() && $feed != 'comments-rss2' && !is_single() && [.....]

Y se trata de añadirle que cuando queramos llamar al feed rss de las etiquetas sea ignorado por este plugin como ya pasa con los comentarios. Para ello tenemos que añadir al final esto “!is_tag() &&” quedando el código tal que así:

if (is_feed() && $feed != 'comments-rss2' && !is_single() && !is_tag() && [.....]

De esta forma ya funcionan cosas como la llamada al feed de mis etiquetas, y el planetawordpress vuelve a leer solo mis entradas sobre WordPress. Si quereís ver el rss de la etiqueta WordPress está en la siguiente dirección: http://carrero.es/etiquetas/wordpress/feed/

Espero que esto os resulte útil y por si acaso os dejo una copia del plugin con el cambio aplicado por si queréis usarlo, es un fichero ZIP que solo contiene el PHP.

Gracias a la ayuda de la entrada en inglés de Brad Grier. Por cierto que al hilo de encontrar esta solución me encuentro que mucha gente dejo de usar FeedBurner después de la compra por Google, pero sigo sin ver alternativas reales y buenas a esta completa herramienta.

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Soporte de RSS para etiquetas con FeedBurner y WordPress

Miniaturas de posts en el feed

Una de las novedades que llevamos disfrutando en WordPress desde hace poco son las miniaturas de post, denominadas imágenes destacadas en WordPress 3.0. Añadir miniaturas de post a tu tema es muy fácil, ya lo hemos visto, pero ¿que pasa con los feeds RSS?, ahí no se mostrarán salvo que no nos pongamos manos a la obra.

Pues vamos a ello … 

Además es sencillo, solo tenemos que recurrir al ya imprescindible fichero functions.php de tu tema y, en este caso, añadir unas cuantas líneas.

Si queremos que la miniatura aparezca antes del contenido del post el código es este:

PHP:
  1. // mostrar miniaturas de post en los feeds
  2. function miniaturas_feeds($content) {
  3.     global $post;
  4.     if(has_post_thumbnail($post->ID)) {
  5.         $content = '<div>' . get_the_post_thumbnail($post->ID) . '</div>' . $content;
  6.     }
  7.     return $content;
  8. }
  9. add_filter('the_excerpt_rss', 'miniaturas_feeds');
  10. add_filter('the_content_feed', 'miniaturas_feeds');

Y si queremos que salga al final del contenido este otro:

PHP:
  1. // mostrar miniaturas de post en los feeds
  2. function miniaturas_feeds($content) {
  3.     global $post;
  4.     if(has_post_thumbnail($post->ID)) {
  5.         $content = $content . '<div>' . get_the_post_thumbnail($post->ID) . '</div>';
  6.     }
  7.     return $content;
  8. }
  9. add_filter('the_excerpt_rss', 'miniaturas_feeds');
  10. add_filter('the_content_feed', 'miniaturas_feeds');

Pero, vamos más allá, porque si queremos que el texto "envuelva" la miniatura, solo hay que quitar el div que sobra, quedando así el código a añadir:

PHP:
  1. // mostrar miniaturas de post en los feeds
  2. function miniaturas_feeds($content) {
  3.     global $post;
  4.     if(has_post_thumbnail($post->ID)) {
  5.         $content = get_the_post_thumbnail($post->ID) . $content;
  6.     }
  7.     return $content;
  8. }
  9. add_filter('the_excerpt_rss', 'miniaturas_feeds');
  10. add_filter('the_content_feed', 'miniaturas_feeds');

Como siempre, tu eliges el modo de hacerlo.

Visto en DiggWP

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!