Cómo crear fuentes RSS personalizadas en WordPress
WordPress viene con feeds RSS incorporados por defecto. Puede modificar las fuentes predeterminadas añadiendo contenido personalizado a sus fuentes RSS, o incluso añadiendo miniaturas a sus fuentes RSS. Los feeds RSS y Atom por defecto son suficientes para la mayoría de los usuarios, pero es posible que desee crear un feed RSS personalizado para entregar un tipo específico de contenido. En este artículo, le mostraremos cómo crear feeds RSS personalizados en WordPress.
Tenga en cuenta que este tutorial no está destinado a usuarios de WordPress de nivel principiante. Si usted es un principiante, y todavía quiere probarlo, entonces por favor hágalo en una instalación local.
Como siempre, debe crear una copia de seguridad completa de su sitio web de WordPress antes de hacer cualquier cambio importante en un sitio web en vivo.
Dicho esto, comencemos con su primer feed RSS personalizado en WordPress.
Supongamos que desea crear un nuevo canal RSS que muestre sólo la siguiente información:
- Título
- Enlace
- Fecha de publicación
- Autor
- Extracto
Lo primero que tiene que hacer es crear el nuevo feed RSS en el archivo functions.php de su tema o en un plugin específico del sitio:
1234add_action('init', 'customRSS');functioncustomRSS(){ add_feed('feedname', 'customRSSFunc');}}.
El código anterior activa la función customRSS, que añade el feed. La función add_feed tiene dos argumentos, feedname, y una función callback. El nombre de la fuente formará tu nueva url de fuente yourdomain.com/feed/feedname y se llamará a la función de devolución de llamada para crear la fuente. Anote el nombre del canal, ya que lo necesitará más adelante.
Una vez que haya inicializado el feed, deberá crear la función de devolución de llamada para producir el feed requerido, utilizando el siguiente código en el archivo functions.php de su tema o en un plugin específico del sitio:
123functioncustomRSSFunc(){ get_template_part('rss', `nombre del feedname');}.
El código anterior utiliza la función get_template_part para enlazar con un archivo de plantilla separado, sin embargo, también puede colocar el código RSS directamente en la función. Usando 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, empezando por el archivo en la parte superior (si no encuentra el primero, pasará al segundo, y así sucesivamente):
- wp-content/themes/child/rss-feedname.php
- wp-content/themes/parent/rss-feedname.php
- wp-content/themes/child/rss.php
- wp-content/themes/parent/rss.php
Para los propósitos de este tutorial, es mejor configurar el slug al tipo de feed que está creando (en este caso: rss), y el nombre al nombre del feed configurado anteriormente.
Una vez que le haya dicho a WordPress que busque la plantilla de feeds, tendrá que crearla. El siguiente código producirá el diseño de la fuente con la información que enumeramos anteriormente. Guarde este archivo en su carpeta temática como el archivo de plantilla slug-name.php configurado en la función get_template_part.
12345678910111213141415161718192021222324252627282930313233343536373839404142<?php/** * Nombre de la plantilla: Plantilla RSS personalizada - Nombre del canal */$postCount= 5; // El número de mensajes a mostrar en el feed$posts= query_posts('showposts='. $postCount);header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);echo'';?>"2.0" .1/" > - Feed ""type="application/rss+xml"/> <?php bloginfo_rss('url')) php echoapply_filters('rss_update_period', 'hourly'); ?> php while(have_posts()) : the_post(); ?>
Este código de plantilla generará una fuente RSS siguiendo el diseño anterior. La variable postCount le permite controlar el número de mensajes a mostrar en su feed. La plantilla se puede modificar según sea necesario para mostrar cualquier información que necesite (por ejemplo, imágenes de publicaciones, comentarios, etc.).
La función the_excerpt_rss mostrará el extracto de cada mensaje, y para los mensajes que no tengan extractos, mostrará las primeras 120 palabras del contenido del mensaje.
Finalmente, para mostrar tu feed, primero necesitarás purgar tus reglas de reescritura de WordPress. La forma más fácil de hacerlo es iniciar sesión en el administrador de WordPress y hacer clic en Settings -> Permalinks . Una vez aquí, simplemente haga clic en Guardar cambios , que eliminará las reglas de reescritura.
Ahora puedes acceder a tu nuevo feed en yourdomain.com/feed/feedname, donde el nombre del feed era el que habías dado en la función add_feed.
El W3C ofrece un servicio de validación de alimento, que le permite validar el alimento resultante.
Solución de problemas
- ¡Estoy obteniendo un error 404 cuando intento ver mi feed!
- Compruebe si está utilizando el nombre de fuente correcto en su URL. Tiene que ser el que proporcionó en la función add_feed
- Si tiene el nombre correcto de la fuente, es posible que sus reglas de reescritura no se hayan eliminado correctamente. Vuelve a guardar tus enlaces permanentes para estar seguro.
- Si has vuelto a guardar tus enlaces permanentes, puedes forzar una descarga de reescritura a través del archivo functions.php de tu tema. Añada el siguiente código a la función customRSS que creamos anteriormente. Asegúrese de añadir el código después de la función add_feed.
- Una vez que hayas añadido esto, recarga tu sitio de WordPress. NOTA: Debe retirarse inmediatamente después de su uso. Una vez es suficiente para que las reglas sean eliminadas.
12global$wp_rewrite;$wp_rewrite->flush_rules();
- ¡Mi feed no está validando!
- Usando el validador de feeds del W3C, se deben dar detalles específicos donde su feed no está validando. Editar el archivo de plantilla de alimentación para resolver estos problemas
- ¡Estoy obteniendo un error de validación!
- Esto es común cuando el lenguaje RSS no ha sido configurado en su instalación de WordPress. Para ello, puede añadir el siguiente código al archivo functions.php de su tema, para actualizar la opción de idioma.
- Edite el segundo argumento de la función update_option para cambiar el idioma a uno que necesite. Consulte la lista completa de códigos de idioma RSS.
- Una vez que el código anterior ha sido añadido 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 ser eliminado del archivo de funciones de WordPress. Cargar una vez es suficiente para configurar la configuración de 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.
1234functionrssLanguage(){ update_option('rss_language', 'en');}add_action('admin_init', 'rssLanguage');
Esperamos que este artículo le haya ayudado a crear sus propios RSS Feeds personalizados en WordPress. Háganos saber cómo y por qué va a utilizar fuentes RSS personalizadas en su sitio WordPress dejando un comentario a continuación.
Deja una respuesta