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

Come creare un feed RSS separato per ogni tipo di contenuto personalizzato in WordPress

Oltre alle pagine e ai post, WordPress consente di creare dei post type personalizzati in base alle esigenze specifiche dei contenuti. Ad esempio, potreste voler creare un post type / tipo di contenuto personalizzato per le recensioni di film, prodotti o testimonianze. Questo può aiutarvi a organizzare il vostro sito in modo più efficace e a migliorare l’esperienza dell’utente.

Se volete fare un ulteriore passo avanti, potete anche impostare un feed RSS per ciascuno dei vostri post type personalizzati. Offrire feed specializzati ai visitatori del vostro sito web permette loro di impegnarsi con il vostro materiale in modo più personalizzato.

In questa guida vi guideremo attraverso il processo di impostazione di feed RSS separati per i post type personalizzati in WordPress. Iniziamo!

Making RSS feed for custom post types in WordPress

Creazione di feed RSS separati per i post type / tipo di contenuto in WordPress

Di default, WordPress genera diversi feed RSS per il vostro sito web.

Ad esempio, tutti gli articoli recenti del blog appaiono nel feed RSS principale del sito. Si può accedere a questo feed aggiungendo /feed/ al proprio dominio in questo modo:

https://example.com/feed/

Ciò che molti principianti non sanno è che WordPress genera feed RSS separati per ogni pagina di archivio.

Ad esempio, ha feed RSS separati per categorie, tag, autori e post type / tipi di contenuto personalizzati.

Supponiamo di avere un post type personalizzato chiamato film sul proprio sito web. È possibile visualizzare tutti i contenuti creati in quel tipo di post visitando la pagina dell’archivio del tipo di post:

https://example.com/movies

Example of a custom post type archive page

Per visualizzare il feed RSS, è sufficiente aggiungere /feed/ accanto all’URL dell’archivio del post type personalizzato.

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

Feed for custom post type

In alternativa, è possibile visualizzare il feed aggiungendo il parametro post type al feed RSS principale di WordPress. Ad esempio:

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

Questo URL recupererà solo il post type personalizzato chiamato film.

Alternate custom post type RSS feed URL

Utilizziamo post type / tipo di contenuto per le sezioni Glossario e Hosting WordPress. Entrambe sono abilitate ai Feed RSS e possono essere utilizzate dagli utenti che desiderano iscriversi a queste sezioni specifiche.

Aggiungere un collega al feed RSS di Personalizza Tipo di contenuto

Ora che sapete come accedere ai feed RSS per qualsiasi tipo di post personalizzato sul vostro sito web WordPress, potete usare quell’URL per creare dei collegamenti ai vostri post type personalizzati.

Ad esempio, si può visualizzare un’icona o un collega di testo semplice sulla pagina dell’archivio del tipo di contenuto personalizzato, in modo che i visitatori possano facilmente iscriversi a quegli articoli.

1. Aggiungere un link al Feed RSS del tipo di contenuto personalizzato in Block Themes

Se si utilizza un tema a blocchi con supporto completo per la modifica del sito, ecco come aggiungere il link.

Per prima cosa, è necessario aggiungere uno snippet di codice personalizzato al sito web di WordPress utilizzando il plugin WPCode.

Nota: esiste anche una versione gratuita di WPCode, che si può usare per aggiungere questo frammento di codice.

Per prima cosa, è necessario installare e attivare il plugin WPCode e poi andare alla pagina Code Snippets ” + Add New Snippet.

Add new snippet

Da qui, fate clic sul pulsante “Usa snippet” sotto l’opzione “Aggiungi codice personalizzato (nuovo snippet)”.

Sullo schermo successivo, indicare un nome per lo snippet di codice. Può essere qualsiasi cosa che aiuti a identificare lo snippet. Successivamente, scegliere “Snippet PHP” tra i tipi di codice.

Infine, aggiungete il seguente codice nella casella Anteprima codice:

    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');

Non dimenticate di sostituire ‘movies’ con il nome del vostro post type personalizzato.

Ecco come apparirebbe come snippet nel plugin WPCode:

Adding custom code for RSS feed link

A questo punto, attivare l’interruttore “Attivo” e “Salvare/Aggiornare” lo snippet.

Questo codice rileva automaticamente se un utente visualizza la pagina dell’archivio di un post type personalizzato specifico e visualizza un collega per iscriversi.

Viene quindi creato uno shortcode che può essere utilizzato nel tema o nei widget del blocco per visualizzare il collega.

Successivamente, è necessario visitare la pagina Aspetto ” Editor per avviare l’editor del sito. Successivamente, scegliere l’opzione Templates ” Archivia dal menu di sinistra.

Edit Archive template in Site Editor

Quindi, aggiungere il blocco Shortcode in cui si desidera visualizzare il link al feed RSS.

L’ideale sarebbe mostrarlo in alto, appena sotto il nome dell’archivio.

Add shortcode block

All’interno del blocco Shortcode, è necessario aggiungere il seguente shortcode:

[custom_post_type_rss_link]

Non dimenticate quindi di salvare le modifiche apportate.

È ora possibile visitare la pagina dell’archivio del tipo di contenuto personalizzato per visualizzare il link al feed RSS in azione.

RSS feed link preview

2. Aggiungere un link al feed RSS del tipo di contenuto personalizzato in Editor classico

Il modo più semplice per farlo è creare un template separato per il post type personalizzato nel tema di WordPress.

Collegarsi al sito web di WordPress con un client FTP e navigare nella cartella /wp-content/themes/your-current-theme/.

Ora, se il vostro tipo di post personalizzato si chiama film, potete creare un file archive-{post_type}.php nella cartella del tema di WordPress.

Dopodiché, si può semplicemente copiare il contenuto del template archivia.php del tema e iniziare a personalizzare il nuovo template.

È possibile aggiungere un semplice link HTML al feed del proprio post type / tipo di contenuto utilizzando il seguente codice:

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

Non dimenticate di cambiare l’URL con l’URL del vostro post type feed.

Ora, il problema di questo codice è che si dovrà creare un nuovo template file solo per quel particolare post type.

Il metodo successivo consente di generare dinamicamente il link al feed RSS del post type per tutte le pagine dell’archivio.

È sufficiente aggiungere il seguente codice al template file archive.php del 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 } ?>		

Questo codice aggiungerà semplicemente un collega sotto il titolo della pagina dell’archivio del post type, incoraggiando gli utenti a iscriversi a questo particolare tipo di contenuto.

Suggerimento bonus: Aggiungere un post type personalizzato al feed RSS principale

I feed RSS dei post type personalizzati non sono facilmente individuabili dai lettori di feed e la maggior parte degli utenti può trovare più facilmente il feed RSS del sito.

Ciò significa che gli utenti abbonati al feed RSS principale non potranno accedere ai contenuti pubblicati nel post type personalizzato.

Si può facilmente correggere questo problema aggiungendo il contenuto del post type personalizzato per farlo apparire nel feed RSS principale del sito.

Per farlo, è necessario aggiungere uno snippet di codice personalizzato al proprio blog WordPress. Si consiglia di utilizzare WPCode per aggiungere snippet di codice personalizzati in WordPress.

Per prima cosa, è necessario installare e attivare il plugin gratuito WPCode. Per maggiori dettagli, consultate il nostro articolo su come installare un plugin di WordPress.

Una volta attivato il plugin, visitare la pagina Code Snippets ” + Add Snippet dalla barra laterale dell’amministrazione di WordPress.

Da qui, si deve fare clic sul pulsante “Usa snippet” sotto l’opzione “Aggiungi codice personalizzato (nuovo snippet)”.

Add new snippet

A questo punto si accede alla pagina “Crea snippet personalizzato”, dove si può iniziare a digitare un nome per il proprio snippet di codice.

Questo nome non verrà visualizzato da nessuna parte e viene utilizzato solo a scopo identificativo.

Quindi, scegliere l’opzione “Snippet PHP” dal menu a discesa “Tipo di codice” sulla destra.

Snippet title and code type

Dopodiché, si è pronti ad aggiungere lo snippet di codice personalizzato.

È sufficiente copiare e incollare il codice seguente nella casella di anteprima del codice:

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');

Dopo aver aggiunto il codice, digitare il nome del tipo di articolo personalizzato accanto al punto in cui ‘[‘post_type’]’ è scritto nel codice. Nel nostro esempio, abbiamo ‘articolo’, ‘film’ e ‘libri’.

Questo post type personalizzato verrà aggiunto al feed RSS principale di WordPress.

Add code snippet

Successivamente, è necessario tornare in alto nella pagina e spostare l’interruttore “Inattivo” su “Attivo”.

Infine, non dimenticate di fare clic sul pulsante “Save Snippet” per salvare ed eseguire il codice sul vostro sito web WordPress.

Save snippet

Il contenuto del post type personalizzato sarà ora aggiunto al feed RSS principale del sito.

Speriamo che questo articolo vi abbia aiutato a capire come creare un feed RSS separato per i post type / tipi di contenuto personalizzati in WordPress. Potreste anche consultare il nostro tutorial sull’ottimizzazione dei feed RSS di WordPress e la nostra scelta dei migliori plugin RSS per WordPress.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

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.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

29 commentiLascia una risposta

  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.

      Admin

  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.

      Admin

      • 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.

      Admin

  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.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.