Come aggiungere contenuti e manipolare completamente i tuoi feed RSS WordPress

Come aggiungere contenuti e manipolare completamente i tuoi feed RSS WordPress / Esercitazioni

Qualche tempo fa abbiamo condiviso come controllare il Footer RSS di WordPress con l'uso di un famoso plugin chiamato RSS Footer di Joost. Mentre il plugin è grande, ma è molto limitato. Puoi aggiungere solo testo al piè di pagina, ed è sempre lo stesso testo visualizzato sul piè di ogni post. Cosa succede se si desidera visualizzare un testo diverso per ogni post nel proprio post RSS? Cosa succede se vuoi che determinati post abbiano un titolo diverso nei feed RSS? Cosa fare se si desidera visualizzare un campo personalizzato specifico nei feed RSS? Ecco perché ti presentiamo questo articolo che ti mostrerà come aggiungere qualsiasi tipo di contenuto nei tuoi feed RSS WordPress. Questo hack ti metterà in controllo dei tuoi feed RSS WordPress e potrai manipolarlo in qualsiasi modo tu voglia.

Nota: questo hack non è per principianti. Solo gli utenti che si sentono a proprio agio con la modifica del file functions.php e che hanno una certa conoscenza di php dovrebbero provare questo. Gli utenti principianti dovrebbero utilizzare il plug-in menzionato nell'articolo sopra o consultare professionisti come noi per farlo per te.

1. Aggiungi un campo personalizzato al tuo piè di pagina RSS di WordPress

In questo primo esempio, ti mostreremo come utilizzare il campo personalizzato per visualizzare testo / oggetto specifici nel tuo feed RSS WordPress. Questo trucco ti consentirà di mostrare testo, pubblicità, immagine o qualsiasi altra cosa per ogni post. Per prima cosa apri il tuo functions.php e incolla i seguenti codici nei tag php:

 function wpbeginner_postrss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ coolcustom = get_post_meta ($ postid, 'coolcustom', true); if (is_feed ()) if ($ coolcustom! == ") $ content = $ content."

"$ Coolcustom." "; else $ content = $ content; restituisce $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');

Ora molti di voi si stanno chiedendo come funziona questo codice. Quindi ecco una spiegazione. Creiamo una funzione chiamata wpbeginner_postrss che esegue un wp_query globale per cercare in ogni post se è definito un campo personalizzato chiamato "coolcustom". Se Cool Custom è definito, mostra il valore dopo il contenuto del post. Se non è stato definito un campo personalizzato, la funzione per impostazione predefinita mostra solo il contenuto del post e nient'altro. Usiamo la variabile $ content per visualizzare il contenuto. Stiamo usando la funzione if (is_feed) e aggiungendo il testo personalizzato o altro contenuto al contenuto del post principale stesso che puoi vedere dal secondo filtro. Ma verrà visualizzato solo nei feed RSS a causa della nostra funzione if (is_feed) dell'utente. In questo modo, evitiamo tutti i problemi di compatibilità.

Alcuni di voi diranno, ma avete appena fatto ciò che il plugin RSS footer fa con una funzione. Sì e no. Sì, stiamo aggiungendo il codice al piè di pagina del post, ma questo testo non è lo stesso testo esatto per ogni post. È diverso perché si specifica un testo diverso per ogni post tramite campi personalizzati. Questo trucco sarà molto utile per conformarsi alle nuove linee guida FTC per i blog che hanno tutti i diversi tipi di post.

2. Aggiunta di testo aggiuntivo per la pubblicazione di titoli in RSS

Il tuo blog ha post per gli ospiti, post sponsorizzati e post di recensioni? Bene, se lo fai, lo troverai molto utile. Alcuni blogger hanno uno stile personalizzato per visualizzare ogni tipo di post, quindi i loro utenti possono distinguerli. Ma quando questi post vanno in un lettore, tutti gli stili sono spariti. Questo è quando questo trucco è utile. In questo trucco aggiungeremo qualsiasi testo prima o dopo il titolo.

Ad esempio se il tuo titolo era "Commercial WordPress Theme - StudioPress" ed era un post sponsorizzato, puoi cambiarlo in "Post sponsorizzato: Tema WordPress commerciale - StudioPress". Lo stesso se qualcuno ha scritto un messaggio ospite ecc.

Per fare ciò, apri il tuo file functions.php e aggiungi qui il seguente codice:

 funzione wpbeginner_titlerss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ gpost = get_post_meta ($ postid, 'guest_post', true); $ spost = get_post_meta ($ postid, 'sponsored_post', true); if ($ gpost! == ") $ content = 'Guest Post:'. $ content; elseif ($ spost! ==") $ content = 'Post sponsorizzato:'. $ content;  else $ content = $ content;  return $ content;  add_filter ('the_title_rss', 'wpbeginner_titlerss'); 

Spiegazione per il codice:

Stiamo usando la funzione wpbeginner_titlerss che esegue un wp_query globale per cercare in ogni post se contiene $ gpost o $ spost. Questi due elementi sono fondamentalmente alla ricerca di due specifici campi personalizzati chiamati "guest_post" o "sponsored_post". Se qualcuno ha aggiunto questi campi personalizzati con un valore true, il codice lo aggiungerà nel testo. Altrimenti, vedrai solo il titolo normale. Puoi vedere prima il codice cerca se $ gpost è vero, se questo non è vero se $ spost è vero. Se anche questo non è definito, visualizza il contenuto normale. Ma se uno di essi era vero, allora mostra il testo diverso specificato qui. Stiamo usando $ content string per visualizzare il titolo del post.

Ora mostrava solo campi personalizzati nel titolo. Vuoi visualizzare il nome della categoria su ciascun titolo? Bene allora dovresti semplicemente incollare il seguente codice nel tuo file functions.php:

 function wpbeginner_cattitlerss ($ content) $ postcat = ""; foreach ((get_the_category ()) as $ cat) $ postcat. = '('. $ cat-> cat_name. ')';  $ content = $ content. $ postcat; restituire $ content;  add_filter ('the_title_rss', 'wpbeginner_cattitlerss'); 

Spiegazione: stiamo utilizzando la funzione wpbgeinner_cattitlerss per ottenere l'ID della categoria per ogni post e quindi visualizzarlo accanto al titolo. Quindi, se il titolo è "Richiedi modulo di contatto 7" ora sarebbe "Richiedi modulo di contatto 7 [Plugin]". Puoi vedere che non c'è se poi la variabile in questo codice. Utilizziamo $ content per il titolo principale e $ postcat per definire il nome della categoria. Riorganizzi quello se ti piace.

3. Aggiungi lo stesso testo su tutti i messaggi in RSS

Se vuoi semplicemente aggiungere lo stesso testo, potresti usare il plugin chiamato RSS Footer di Joost perché è più semplice. Ma se vuoi farlo da solo, è così che lo fai. Apri il tuo file functions.php aggiungi il seguente codice:

 function wpbeginner_postrss ($ content) if (is_feed ()) $ content = 'Questo post è stato scritto da Syed Balkhi'. $ content.'Check WPBeginner ';  return $ content;  add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss'); 

Spiegazione: Stiamo chiamando una funzione wpbeginner_postrss per aggiungere in ogni post un contenuto prima del post che dice che questo post è stato scritto da Syed Balkhi e dopo il contenuto Check out WPBeginner. Ma aggiungiamo la funzione if (is_feed), quindi verrà visualizzata solo nei feed RSS.

Questo sarebbe molto utile se volessi vendere annunci su post specifici in RSS, aggiungere linee guida FTC personalizzate o semplicemente volere avere più controllo sui tuoi feed RSS.

Fonte: abbiamo usato il plugin RSS Footer di Joost per un sacco di indicazioni su come scrivere questo tutorial. La parte di hacking del titolo che abbiamo ottenuto da un sito di tutorial in francese e abbiamo aggiunto le nostre variabili e le abbiamo dato la possibilità di essere titoli personalizzati per campo personalizzato.