Imágenes en el Feed de Wordpress, cómo añadirlas sin plugins

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Una vez más aquí. Hoy vengo a dejar un pequeño artículo sobre algo que un usuario me preguntó esta misma semana. Antes de nada tengo que decir que me sorprendió un poco, ya que los RSS pensé que era el único que todavía los utilizaba. El caso es que un usuario me ha preguntado cómo podría hacer que apareciesen las imágenes destacadas en el Feed de Wordpress. Me comentaba que necesitaba poder añadirla sin tener que utilizar otro plugin más en su instalación.

El caso es que me puse a pensar sobre ello, y aun que a lo largo de la historia de este blog he publicado diferentes códigos sobre diferentes maneras de crear tu propio Feed, nunca me tomé las molestias de ponerlos minimamente bonitos, ni de preocuparme de que se mostrasen estas imágenes destacadas de los artículos.

Pues bueno, pensado un poco en el último artículo sobre cómo crear un Feed, que se titulaba Lector de canales RSS, crea el tuyo propio con PHP me di cuenta de que sería bastante sencillo hacer lo que este usuario me pedía. Solo ya que solo es necesario utilizar una pequeña función en el archivo functions.php de la instalación, o si tienes creado tu propio plugin de funciones, también se puede poner ahí.

Código para mostrar imágenes en el Feed de Wordpress

Hay que decir que para hacer cambios en la configuración de WordPress, es necesario crear previamente un tema hijo. El siguiente código va a modificar el feed que se genera automáticamente en este CMS.

La función como digo es bastante sencilla de entender. Tan solo es necesario abrir el archivo functions.php y pegar el siguiente código al final del mismo, o abrir nuestro plugin de funciones y colocar ahí la siguiente función.

//Agregar imagenes al feed de WP
function img_rss_wp( $contenido ) {
   
    global $articulo;
   
    if( has_post_thumbnail( $articulo->ID ) ) {
        $img_src = wp_get_attachment_image_src( get_post_thumbnail_id( $articulo->ID ), 'thumbnail' );    
        $contenido = '<img src="'.esc_attr( $img_src[0] ).'" class="rss_wp_img" alt="'.esc_attr( $img_src[0] ).'" />' . '<p>' . $contenido . '</p>';
    }
    return $contenido;
}

add_filter( 'the_excerpt_rss', 'img_rss_wp' );
add_filter( 'the_content_feed', 'img_rss_wp' );

Una vez pegado el código en el archivo que nos interese, solo queda guardarlo.

La función wp_get_attachment_image_src utiliza “thumbnail” para establecer el tamaño las imágenes. Aun que este valor se puede cambiar por alguno de los siguientes:

  • thumbnail = 150px
  • medium = 300px
  • large = 1024px
  • full = máximo permitido

Bueno, el caso es que como dije líneas más arriba, esto lo he probado en el lector RSS que publiqué en Lector de canales RSS, crea el tuyo propio con PHP. El cual se puede ver funcionando en el siguiente enlace, aun que también se debería ver correctamente la imagen en cualquier lector RSS.

Espero que esto le sea de ayuda a quién me preguntó por ello, o a quién lo necesite (por lo que sea).

Post relacionados

Gasoliprecio, busca las estaciones de servicio con el mejor precio

Control básico de la pila LAMP con Python y Tkinter

Recetario web, crea el tuyo y ten tus recetas de cocina a mano