Come creare feed RSS personalizzati in WordPress

WordPress viene fornito con feed RSS predefiniti integrati. Puoi modificare i feed predefiniti aggiungendo contenuti personalizzati ai tuoi feed RSS o anche aggiungendo miniature dei post ai tuoi feed RSS. I feed RSS e Atom predefiniti sono sufficienti per la maggior parte degli utenti, ma potresti voler creare un feed RSS personalizzato per fornire un tipo specifico di contenuto. In questo articolo, ti mostreremo come creare feed RSS personalizzati in WordPress.


Nota che questo tutorial non è destinato agli utenti WordPress di livello principiante. Se sei un principiante e desideri ancora provarlo, esegui un’installazione locale.

Come sempre, è necessario creare un backup completo del sito Web WordPress prima di apportare modifiche importanti a un sito Web live.

Detto questo, iniziamo con il tuo primo feed RSS personalizzato in WordPress.

Supponiamo che tu voglia creare un nuovo feed RSS che mostri solo le seguenti informazioni:

  • Titolo
  • collegamento
  • Data di pubblicazione
  • Autore
  • Estratto

La prima cosa che devi fare è creare il nuovo feed RSS nel file Functions.php del tuo tema o in un plug-in specifico per il sito:

add_action (‘init’, ‘customRSS’);
funzione customRSS () {
add_feed (‘feedname’, ‘customRSSFunc’);
}

Il codice precedente attiva la funzione customRSS, che aggiunge il feed. La funzione add_feed ha due argomenti, feedname e una funzione di callback. Il nome del feed comporrà l’URL del tuo nuovo feed yourdomain.com/feed/feedname e verrà chiamata la funzione di callback per creare effettivamente il feed. Prendi nota del nome del feed, poiché ti servirà in seguito.

Dopo aver inizializzato il feed, dovrai creare la funzione di callback per produrre il feed richiesto, utilizzando il seguente codice nel file Functions.php del tuo tema o in un plug-in specifico del sito:

funzione customRSSFunc () {
get_template_part (‘rss’, ‘feedname’);
}

Il codice sopra sta usando la funzione get_template_part per collegarsi a un file modello separato, tuttavia puoi anche inserire il codice RSS direttamente nella funzione. Usando get_template_part, possiamo mantenere la funzionalità separata dal layout. La funzione get_template_part ha due argomenti, slug e name, che cercheranno un file modello con il nome nel seguente formato, iniziando con il file in alto (se non trova il primo, passerà al secondo , e così via):

  1. wp-content / themes / bambino / rss-feedname.php
  2. wp-content / themes / genitore / rss-feedname.php
  3. wp-content / themes / bambino / rss.php
  4. wp-content / themes / genitore / rss.php

Ai fini di questa esercitazione, è meglio impostare la lumaca sul tipo di feed che si sta creando (in questo caso: rss) e il nome del feedname configurato in precedenza.

Una volta che hai detto a WordPress di cercare il modello di feed, dovrai crearlo. Il codice seguente produrrà il layout per il feed con le informazioni che abbiamo elencato in precedenza. Salvare questo file nella cartella del tema come file modello slug-name.php configurato nella funzione get_template_part.

<?php
/ **
* Nome modello: modello RSS personalizzato – Nome feed
* /
$ postCount = 5; // Il numero di post da mostrare nel feed
$ posts = query_posts (‘showposts =’. $ postCount);
header (‘Content-Type:’ .feed_content_type (‘rss-http’). ‘; charset =’. get_option (‘blog_charset’), true);
eco ‘<?versione xml ="1.0" encoding ="’.Get_option ( ‘blog_charset’).’"?”>’;
?>
>

<?php bloginfo_rss (‘nome’); ?> – Alimentazione
" rel ="se stesso" type ="application / rss + xml" />
<?php bloginfo_rss (‘url’) ?>
<?php bloginfo_rss (‘descrizione’) ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_lastpostmodified (‘GMT’), false); ?>
<?php echo get_option (‘rss_language’); ?>
<?php echo apply_filters (‘rss_update_period’, ‘hourly’); ?>
<?php echo apply_filters (‘rss_update_frequency’, ‘1’); ?>
<?php do_action (‘rss2_head’); ?>
<?php while (have_posts ()): the_post (); ?>

<?php the_title_rss (); ?>
<?php the_permalink_rss (); ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_post_time (‘Y-m-d H: i: s’, true), false); ?>
<?php the_author (); ?>
<?php the_guid (); ?>

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    [ware_item id=87][/ware_item]
    Like this post? Please share to your friends:
    Adblock
    detector
    map