Cómo crear fuentes RSS personalizadas en WordPress

WordPress viene con fuentes RSS predeterminadas incorporadas. Puede modificar las fuentes predeterminadas agregando contenido personalizado a sus fuentes RSS, o incluso agregando miniaturas de publicaciones a sus fuentes RSS. Las fuentes RSS y Atom predeterminadas son suficientes para la mayoría de los usuarios, pero es posible que desee crear una fuente RSS personalizada para entregar un tipo específico de contenido. En este artículo, le mostraremos cómo crear fuentes RSS personalizadas en WordPress.

Tenga en cuenta que este tutorial no está destinado a usuarios principiantes de WordPress. Si es un principiante y aún desea probarlo, hágalo en una instalación local.

Como siempre, debe crear una copia de seguridad completa de su sitio web de WordPress antes de realizar cambios importantes en un sitio web en vivo.

Dicho esto, comencemos con su primer feed RSS personalizado en WordPress.

Supongamos que desea crear una nueva fuente RSS que muestre solo la siguiente información:

  • Título
  • Enlace
  • Fecha de Publicación
  • Autor
  • Extracto

Lo primero que debe hacer es crear la nueva fuente RSS en el archivo functions.php de su tema o en un complemento específico del sitio:

add_action('init', 'customRSS');
function customRSS(){
        add_feed('feedname', 'customRSSFunc');
}

El código anterior activa la función customRSS, que agrega el feed. La función add_feed tiene dos argumentos, feedname y una función de devolución de llamada. El nombre de la fuente formará su nueva URL de la fuente tudominio.com/feed/feedname y se llamará a la función de devolución de llamada para crear la fuente. Anote el nombre del feed, ya que lo necesitará más adelante.

Una vez que haya inicializado la fuente, deberá crear la función de devolución de llamada para producir la fuente requerida, utilizando el siguiente código en el archivo functions.php de su tema o en un complemento específico del sitio:

function customRSSFunc(){
        get_template_part('rss', 'feedname');
}

El código anterior usa la función get_template_part para vincular a un archivo de plantilla separado, sin embargo, también puede colocar el código RSS directamente en la función. Al usar get_template_part, podemos mantener la funcionalidad separada del diseño. La función get_template_part tiene dos argumentos, slug y name, que buscarán un archivo de plantilla con el nombre en el siguiente formato, comenzando con el archivo en la parte superior (si no encuentra el primero, pasará al segundo , etcétera):

  1. wp-content / themes / child / rss-feedname.php
  2. wp-content / themes / parent / rss-feedname.php
  3. wp-content / themes / child / rss.php
  4. wp-content / themes / parent / rss.php

Para los propósitos de este tutorial, es mejor configurar el slug para el tipo de feed que está creando (en este caso: rss), y el nombre para el feedname configurado anteriormente.

Una vez que le haya dicho a WordPress que busque la plantilla de fuente, deberá crearla. El siguiente código producirá el diseño del feed con la información que enumeramos anteriormente. Guarde este archivo en su carpeta de temas como el archivo de plantilla slug-name.php configurado en la función get_template_part.

';
?>
>

        <?php bloginfo_rss('name'); ?> - Feed
        
        
        
        
        
        
        
        
        
                
                        <?php the_title_rss(); ?>
                        
                        
                        
                        
                        ]]>
                        ]]>
                        
                        
                
        


Este código de plantilla generará una fuente RSS siguiendo el diseño anterior. La variable postCount le permite controlar la cantidad de publicaciones que se mostrarán en su feed. La plantilla se puede modificar según sea necesario para mostrar cualquier información que necesite (por ejemplo, publicar imágenes, comentarios, etc.).

La función the_excerpt_rss mostrará el extracto de cada publicación, y para las publicaciones que no tengan extractos, mostrará las primeras 120 palabras del contenido de la publicación.

Finalmente, para mostrar su feed, primero deberá eliminar las reglas de reescritura de WordPress. La forma más sencilla de hacerlo es iniciando sesión en el administrador de WordPress y haciendo clic en Configuración -> Enlaces permanentes. Una vez aquí, simplemente haga clic en Guardar cambios, que eliminará las reglas de reescritura.

Ahora puede acceder a su nuevo feed en tudominio.com/feed/feedname, donde feedname era el nombre del feed que dio en la función add_feed anteriormente.

El W3C ofrece un servicio de validación de feeds, que le permite validar el feed resultante.

Solución de problemas

  • ¡Recibo un error 404 al intentar ver mi feed!
    • Verifique si está utilizando el nombre de feed correcto en su URL. Tiene que ser el que proporcionaste en la función add_feed
    • Si tiene el nombre de feed correcto, es posible que sus reglas de reescritura no se hayan descargado correctamente. Vuelva a guardar sus enlaces permanentes solo para estar seguro.
    • Si ha vuelto a guardar sus enlaces permanentes, puede forzar una reescritura a través del archivo functions.php de su tema. Agregue el siguiente código a la función customRSS que creamos anteriormente. Asegúrese de agregar el código después de la función add_feed.
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
    
  • Una vez que haya agregado esto, vuelva a cargar su sitio de WordPress. NOTA: Debe quitarse inmediatamente después de su uso. Una vez es suficiente para eliminar las reglas.
  • ¡Mi feed no se está validando!
    • Con el validador de feeds del W3C, se deben proporcionar detalles específicos cuando su feed no se esté validando. Edite el archivo de plantilla de feed para resolver estos problemas
  • Estoy recibiendo un ¡Error de validacion!
    • Esto es común cuando el idioma RSS no se ha configurado en su instalación de WordPress. Para hacer esto, puede agregar el siguiente código al archivo functions.php de su tema, para actualizar la opción de idioma.
    function rssLanguage(){
            update_option('rss_language', 'en');
    }
    add_action('admin_init', 'rssLanguage');
    
  • Edite el segundo argumento de la función update_option para cambiar el idioma al que necesite. Consulte la lista completa de códigos de idioma RSS.
  • Una vez que se haya agregado el código anterior a su archivo de funciones, cargue la pantalla de administración de WordPress para que surta efecto. Después de esto, el código debe eliminarse de su archivo de funciones de WordPress. Cargarlo una vez es suficiente para configurar el ajuste rss_language.
  • Esto también se puede hacer directamente en la base de datos, buscando la opción rss_language en la tabla wp_options.
  • Esperamos que este artículo le haya ayudado a crear sus propias fuentes RSS personalizadas en WordPress. Háganos saber cómo y por qué utilizará fuentes RSS personalizadas en su sitio de WordPress dejando un comentario a continuación.