Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo hacer un feed RSS independiente para cada tipo de contenido personalizado en WordPress

Más allá de páginas y entradas, WordPress te permite crear tipos de contenido personalizados según las necesidades únicas de tu contenido. Por ejemplo, es posible que desee crear un tipo de contenido personalizado para reseñas de películas, productos o testimonios. Esto puede ayudarle a organizar su sitio de forma más eficaz y mejorar la experiencia del usuario.

Si quiere ir un paso más allá, también puede establecer un feed RSS para cada uno de sus tipos de contenido personalizados. Ofrecer feeds especializados a los visitantes de su sitio web les permite participar con su material de una manera más personalizada.

En esta guía, le guiaremos a través del proceso de establecer feeds RSS separados para tipos de contenido personalizados en WordPress. ¡Primeros pasos!

Making RSS feed for custom post types in WordPress

Creación de feeds RSS independientes para tipos de contenido personalizado en WordPress

Por defecto, WordPress genera varios feeds RSS para su sitio web.

Por ejemplo, todas las entradas recientes de su blog aparecen en el feed RSS principal de su sitio. Puede acceder a este feed añadiendo /feed/ a su nombre de dominio de la siguiente manera:

https://example.com/feed/

Lo que la mayoría de los principiantes no saben es que WordPress genera feeds RSS independientes para cada página de archivo.

Por ejemplo, dispone de feeds RSS independientes para categorías, etiquetas, autores y tipos de contenido personalizados.

Digamos que tiene un tipo de contenido personalizado llamado películas en su sitio web. Puede ver todo el contenido creado en ese tipo de entradas visitando la página de archivo del tipo de entradas:

https://example.com/movies

Example of a custom post type archive page

Para ver el feed RSS, solo tiene que añadir /feed/ a continuación de la URL del archivo de tipo de contenido personalizado.

https://example.com/movies/feed/

Feed for custom post type

Alternativamente, puede ver el feed añadiendo el parámetro de tipo de entrada a su feed RSS principal de WordPress. Por ejemplo

https://example.com/feed/?post_type=movies

Esta URL solo buscará el tipo de contenido personalizado llamado películas.

Alternate custom post type RSS feed URL

Utilizamos tipos de contenido personalizados para nuestras secciones Glosario y Alojamiento WordPress. Ambos tienen feeds RSS activados y pueden ser utilizados por los usuarios que deseen suscribirse a esas secciones específicas.

Añadir un enlace al feed RSS de tipo de contenido personalizado

Ahora que ya sabe cómo acceder a los feeds RSS para cualquier tipo de contenido personalizado en su sitio web WordPress, puede utilizar esa URL para enlazar a sus feeds de tipo de contenido personalizado.

Por ejemplo, puede que desee mostrar un icono o un enlace de texto sin formato en la página de archivo del tipo de contenido personalizado para que sus visitantes puedan suscribirse fácilmente a esas entradas.

1. Añadir un enlace al feed RSS de tipo de contenido personalizado en Block Themes

Si utiliza un tema en bloque compatible con la edición completa del sitio, a continuación le indicamos cómo enlazarlo.

En primer lugar, debe añadir un fragmento de código personalizado a su sitio web de WordPress mediante el plugin WPCode.

Nota: También existe una versión gratuita de WPCode, que puedes utilizar para añadir este fragmento de código.

En primer lugar, debe instalar y activar el plugin WPCode y, a continuación, ir a la página Fragmentos de código ” + Añadir nuevo fragmento.

Add new snippet

Desde aquí, haga clic en el botón “Usar fragmento de código” situado debajo de la opción “Añadir su código personalizado (nuevo fragmento de código)”.

En la siguiente pantalla, escriba un nombre para el fragmento de código. Puede ser cualquier cosa que le ayude a identificar el fragmento de código. A continuación, seleccione “Fragmento de código PHP” en Tipo de código.

Por último, añada el siguiente código en el cuadro Vista previa del código:

    if (is_post_type_archive('movies')) {
            $post_type = get_queried_object();
            // Get RSS Feed URL
            $rss_feed_url = get_post_type_archive_feed_link($post_type->name);
            // Output the shortcode content
            return '<p>Subscribe to <a href="' . esc_url($rss_feed_url) . '">' . $post_type->label . '</a></p>';
        }
    }
// Register the shortcode
add_shortcode('custom_post_type_rss_link', 'custom_post_type_rss_link_shortcode');

No olvide sustituir “películas” por el nombre de su tipo de contenido personalizado.

Este es el aspecto que tendría como fragmento de código en el plugin WPCode:

Adding custom code for RSS feed link

Ahora activa el interruptor “Activo” y “Guarda/Actualiza” tu fragmento de código.

Este código detecta automáticamente si un usuario ve la página específica de archivo de tipo de contenido personalizado y, a continuación, muestra un enlace para suscribirse.

A continuación, crea un shortcode que puede utilizar en su tema de bloque o widgets para mostrar el enlace.

A continuación, debes visitar la página Apariencia ” Editor para iniciar el editor del sitio. Después, elige la opción Plantillas ” Archivo en el menú de la izquierda.

Edit Archive template in Site Editor

A continuación, añada el bloque shortcode donde desea enlazar el feed RSS.

Lo ideal es que aparezca en la parte superior, justo debajo del nombre del archivo.

Add shortcode block

Dentro del bloque Shortcode, debe añadir el siguiente shortcode:

[custom_post_type_rss_link]

Después, no olvides guardar los cambios.

Ahora puede visitar su página de archivo de tipo de contenido personalizado para ver el enlace al feed RSS en acción.

RSS feed link preview

2. Añadir un enlace al feed RSS de tipo de contenido personalizado en temas clásicos

La forma más fácil de hacerlo es creando una plantilla separada para su tipo de contenido personalizado en su tema de WordPress.

Conéctese a su sitio web WordPress utilizando un cliente FTP y navegue hasta la carpeta /wp-content/themes/your-current-theme/.

Ahora, si tu tipo de contenido personalizado se llama películas, entonces puedes crear un archivo-{post_type}.php en la carpeta de tu tema de WordPress.

Después, sólo tienes que copiar el contenido de la plantilla archive.php de tu tema y empezar a personalizar tu nueva plantilla.

Puede simplemente añadir un enlace HTML plano a su feed de archivo de tipo de entradas utilizando el siguiente código:

<p><strong>Subscribe to: <a href="https://example.com/movies/feed/">Movies</a></strong></p>

No olvide cambiar la URL por la de su tipo de entrada feed.

Ahora, el problema con este código es que usted tendrá que crear un nuevo archivo de plantilla sólo para ese tipo de entradas en particular.

El siguiente método le permitirá enlazar dinámicamente el tipo de contenido de la entrada con el feed RSS de todas sus páginas de archivo.

Simplemente añada el siguiente código al archivo de plantilla archive.php de su tema.

<?php if ( is_post_type_archive() ) { 
$post_type = get_post_type( get_queried_object_id() );?> 
				<p><strong>Subscribe to: <a href="<?php echo get_post_type_archive_link( $post_type  ); ?>feed/"><?php post_type_archive_title(); ?></a></strong></p>
<?php } ?>		

Este código simplemente añadirá un enlace debajo del título de la página de archivo del tipo de entradas, animando a los usuarios a suscribirse a este tipo de contenido en particular.

Consejo extra: Añadir tipo de contenido personalizado a su feed RSS principal

Los lectores de feeds no descubren fácilmente los feeds RSS de tipo de entrada personalizado, y la mayoría de sus usuarios pueden encontrar más fácilmente el feed RSS de su sitio.

Esto significa que los usuarios suscritos a su feed RSS principal se perderán el contenido que publique en su tipo de contenido personalizado.

Puede corregirlo fácilmente añadiendo contenido de su tipo de contenido personalizado para que aparezca en el feed RSS principal de su sitio.

Para ello, deberá añadir un fragmento de código personalizado a su blog de WordPress. Le recomendamos que utilice WPCode para añadir fragmentos de código personalizados en WordPress.

En primer lugar, necesitas instalar y activar el plugin gratuito WPCode. Para más detalles, consulta nuestro artículo sobre cómo instalar un plugin de WordPress.

Una vez activado el plugin, visite la página Code Snippets ” + Add Snippet desde la barra lateral del administrador de WordPress.

A partir de aquí, debe hacer clic en el botón “Usar fragmento de código” situado debajo de la opción “Añadir su código personalizado (nuevo fragmento de código)”.

Add new snippet

Ahora se le dirigirá a la página “Crear fragmento de código personalizado”, donde podrá empezar escribiendo un nombre para su fragmento de código.

Este nombre no se mostrará en ningún sitio y sólo se utiliza a efectos de identificación.

A continuación, elija la opción “Fragmento de código PHP” en el menú desplegable “Tipo de código” de la derecha.

Snippet title and code type

Una vez hecho esto, ya puede añadir su fragmento de código personalizado.

Sólo tiene que copiar y pegar el siguiente código en el cuadro Vista previa del código:

function myfeed_request($qv) {
    if (isset($qv['feed']) && !isset($qv['post_type']))
        $qv['post_type'] = array('post', 'movies', 'books');
    return $qv;
}
add_filter('request', 'myfeed_request');

Después de añadir el código, escriba el nombre del tipo de contenido personalizado al lado de donde ‘[‘post_type’]’ está escrito en el código. En nuestro ejemplo, tenemos ‘entradas’, ‘películas’ y ‘libros’.

Este tipo de contenido personalizado se añadirá a su feed RSS principal de WordPress.

Add code snippet

A continuación, desplácese hasta la parte superior de la página y cambie el conmutador “Inactivo” a “Activo”.

Por último, no olvide hacer clic en el botón “Guardar fragmento de código” para guardar o ejecutar el código en su sitio web de WordPress.

Save snippet

Eso es todo, el contenido de su tipo de contenido personalizado se añadirá al feed RSS principal de su sitio.

Esperamos que este artículo te haya ayudado a aprender cómo crear un feed RSS independiente para tipos de contenido personalizados en WordPress. Puede que también quieras ver nuestro tutorial sobre cómo optimizar tus feeds RSS en WordPress y nuestra selección de los mejores plugins RSS para WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

29 comentariosDeja una respuesta

  1. Buddika Wijerathena

    Is there way to create RSS feed for single page ?
    Ex – example.com/single-post-type/single-post-name

    How to create RSS for this ?

    • WPBeginner Support

      RSS feeds are for listing multiple posts, the RSS would include a link to the post itself. We would not recommend creating a specific RSS feed for one post or page.

      Administrador

  2. Milan

    Hey, and do you know any rss wordpress plugin for visitors ? As big new companies have own RSS creator to put rss on some freelancer sites, I want to it same, but not with post but with custom post types….do you know some RSS plugin ?

  3. Tori

    It still doesn’t work for me – I’m trying to display an RSS Feed for the content on this page –

    and displays the RSS feed for all of my posts. Any thoughts?

    • WPBeginner Support

      Hi Tori,

      Pages are not included in an RSS feed. The URL you are using would work if you had a custom post type with that particular name.

      Administrador

      • Tori

        Thank you for the response. I’m sorry for the confusion as it looks like my links didn’t appear. The posts that appear on that page are custom posts (it’s like the blog roll but for custom posts), but the method to do the RSS feed didn’t work for me. Any thoughts or suggestions?

        • WPBeginner Support

          Hey Tori,

          If you are certain that the posts belong to a custom post type, then you need to find out the name used by the custom post type. You can do that by clicking on the custom post type menu item in your WordPress admin sidebar. Clicking on it will take you to an admin page listing all the posts in that post type. Now if you look into the browser address bar you will see something like this:

          http://www.example.com/wp-admin/edit.php?post_type=your_post_type

          The part that appears after the post_type= is your custom post type name. Now you need to use this to reach the RSS feed URL for that custom post type.

          http://www.example.com/feed/?post_type=your_post_type

          Hope this helps.

    • Tori

      Thank you for the response. When I do that, I see this error message — any thoughts?

      ______

      This page contains the following errors:

      error on line 2 at column 1: Extra content at the end of the document
      Below is a rendering of the page up to the first error.

  4. Cédric Charles

    Hi and thanks for this !

    I would like to add custom fields for my custom post type feed (not for the regular posts, only for my custom post type).

    How could I do that ?

    Thanks a lot !

  5. Toni

    Great tip! I almost made it from scratch! thank you!

  6. erika

    Thank you a lot! your website helped me so much :)

  7. mike

    I’ve gotten this to work but it limits the posts in the rss feed to 10 when I feedburn it. Is there any way to create a full rss feed for custom post types without limiting the quantity of posts it pulls in?

    • Editorial Staff

      Main feed normally displays the most recent posts. If a user tries to pull your feed using their feed reader, it will pull all older posts as well.

      Administrador

  8. Andrew

    Hi there. Could you tell me how to create a feed for all post types, so someone can signup to a single RSS feed for all posts on the site, regardless of which post type they are in?

  9. Rems

    THANK YOU VERY MUCH, i was looking for this info for 2 hours. Glad i found your info. Fu…. taxonomy, where were you?!! aahhh!
    Work so fine now

  10. gabearnold

    Thanks! This is simple and a nice tip I didn’t know.

  11. AlexAmelines

    it works for me and I love you for it. I created a link to each pos type I’ve got, but in the RSS reader they are all called the same, any way I can affect the title of the feed to reflect the post type?

  12. Alan

    If I am using a slug re-write for the taxonomy that wouldn’t make a difference and be causing the problem would it? I’ve tried both ways and it doesn’t work either way, with the actual registered taxonomy title or the slug.

  13. Alan

    That doesn’t seem to work with the taxonomies.

  14. Aldi

    I can’t seem to make that work. It only takes me back to the custom post type archive page again.

    Btw, I use Custom Post Permalinks plugin to allow custom post type permalinks and archive pages. Could that have created the issue??

    Cheers!

    • Aldi

      Oops, sorry.. it was my theme’s problem. I had an action call to redirect anything that is related to custom post types, thus the redirection of the feeds. But got it fixed now.

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.