Slik legger du til innhold og fullstendig manipulerer dine WordPress RSS-feeder
En stund tilbake delte vi hvordan du kan kontrollere WordPress RSS Footer med bruk av et kjent plugin kalt RSS Footer av Joost. Mens plugin er flott, men det er svært begrenset. Du kan bare legge til tekst i bunnteksten, og det er alltid den samme teksten som vises på hvert innleggs bunntekst. Hva om du vil vise forskjellig tekst for hvert innlegg i ditt RSS-innlegg? Hva om du vil at bestemte innlegg skal ha en annen tittel i RSS-feeder? Hva om du vil vise et bestemt tilpasset felt i RSS-feeds? Vel, derfor presenterer vi deg denne artikkelen som viser deg hvordan du legger til hvilken som helst type innhold i WordPress RSS-feeder. Denne hacken vil gi deg kontroll over dine WordPress RSS-feeder, og du kan manipulere det uansett hva du vil.
Merk: Denne hacken er ikke for nybegynnere. Bare brukere som føler seg komfortabel med å redigere functions.php-filen og har litt kunnskap om php, bør prøve dette. Nybegynnere bør enten bruke plugin som er nevnt i artikkelen ovenfor, eller konsultere fagfolk som oss for å gjøre det for deg.
1. Legg til et egendefinert felt i WordPress RSS Footer
I dette første eksempelet vil vi vise deg hvordan du kan bruke egendefinert felt for å vise spesifikk tekst / objekt i WordPress RSS Feed. Dette trikset vil tillate deg å vise annerledes tekst, reklame, bilde eller noe annet for hvert innlegg. Åpne først dine funksjoner.php og lim inn følgende koder i php-kodene:
funksjon wpbeginner_postrss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ coolcustom = get_post_meta ($ postid, 'coolcustom', true); hvis (is_feed ()) if ($ coolcustom! == ") $ content = $ content."
"$ Coolcustom." "; else $ content = $ content; returnere $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Nå lurer de fleste av dere på hvordan denne koden fungerer. Så her er en forklaring. Vi lager en funksjon kalt wpbeginner_postrss som kjører en global wp_query for å søke i hvert innlegg dersom et tilpasset felt kalt "coolcustom" er definert. Hvis Cool Custom er definert, viser det verdien etter innleggets innhold. Hvis det ikke er noen egendefinert felt definert, viser funksjonen som standard bare innleggets innhold og ingenting annet. Vi bruker variabelen $ innhold for å vise innhold. Vi bruker hvis (is_feed) funksjon og legger til egendefinert tekst eller annet innhold til selve hovedinnholdet som du kan se av det andre filteret. Men det vil bare bli vist i RSS-feeder på grunn av vår bruker av if (is_feed) -funksjonen. Ved å gjøre det på denne måten, unngår vi alle kompatibilitetsproblemer.
Noen av dere vil si, men du gjorde akkurat hva RSS-footer-plugin gjør med en funksjon. Ja og nei. Ja, vi legger til koden ved siden av innlegget, men denne teksten er ikke den samme eksakte teksten for hvert innlegg. Det er annerledes fordi du angir forskjellig tekst for hvert innlegg via egendefinerte felt. Dette trikset vil være veldig nyttig for å overholde de nye FTC-retningslinjene for blogger som har alle forskjellige typer innlegg.
2. Legge til tilleggs tekst til posttittel i RSS
Har bloggen din gjesteinnlegg, sponsede innlegg og innlegg? Vel, hvis du gjør det, vil du finne dette veldig nyttig. Noen bloggere har tilpasset styling for å vise hver annen type post, slik at brukerne kan skille mellom dem. Men når disse innleggene går i en leser, er alle stylingene borte. Det er da dette trikset kommer til nytte. I dette trikset legger vi til tekst enten før eller etter tittelen.
For eksempel hvis tittelen din var "Commercial WordPress Theme - StudioPress" og det var et sponset innlegg, så kan du endre det til "Sponset innlegg: Commercial WordPress Theme - StudioPress". Samme hvis noen skrev gjestepost mv.
For å oppnå dette, åpne din functions.php-fil og legg til følgende kode der inne:
funksjon 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); hvis ($ gpost! == ") $ content = 'Gjestepost:'. $ content; elseif ($ spost! ==") $ content = 'Sponset innlegg:'. $ content; annet $ content = $ content; returner $ innhold add_filter ('the_title_rss', 'wpbeginner_titlerss');
Forklaring til koden:
Vi bruker funksjonen kalt wpbeginner_titlerss som kjører en global wp_query for å søke i hvert innlegg hvis den inneholder enten $ gpost eller $ spost. Disse to elementene er i utgangspunktet på jakt etter to spesifikke egendefinerte felt kalt "guest_post" eller "sponsored_post". Hvis noen har disse egendefinerte feltene lagt til med en verdi sant, vil koden legge den til i teksten. Hvis ikke, så vil du bare se den vanlige tittelen. Du kan se først koden ser etter om $ gpost er sant, hvis det ikke er sant om $ spost er sant. Hvis det ikke er heller ikke definert, viser det normalt innhold. Men hvis en av dem var sant, viser den den forskjellige teksten du spesifiserer her. Vi bruker $ innholdsstreng for å vise posttittelen.
Nå var det bare å vise egendefinerte felt i tittelen. Vil du vise Kategori navn på hver tittel? Vel, så bør du bare lime inn følgende kode i din functions.php-fil:
funksjon wpbeginner_cattitlerss ($ content) $ postcat = ""; foreach ((get_the_category ()) som $ cat) $ postcat. = '('. $ cat-> cat_name. ')'; $ content = $ content. $ postcat; returnere $ content; add_filter ('the_title_rss', 'wpbeginner_cattitlerss');
Forklaring: Vi bruker funksjonen wpbgeinner_cattitlerss for å få kategori ID for hvert innlegg og deretter vise det rett ved siden av tittelen. Så hvis tittelen er "Få kontaktskjema 7" nå, ville det være "Få kontaktskjema 7 [Plugins]". Du kan se at det ikke er noen hvis da variabel i denne koden. Vi bruker $ innhold for hovedtitelen og $ postcat-variabelen for å definere kategorinavnet. Du omarrangerer det hvis du vil.
3. Legg til samme tekst på alle innlegg i RSS
Hvis du bare vil legge til samme tekst, kan du også bruke plugin-kalt RSS Footer av Joost fordi det er lettere. Men hvis du vil gjøre det selv, er det slik du gjør det. Åpne din functions.php-fil legg til følgende kode:
funksjon wpbeginner_postrss ($ content) if (is_feed ()) $ content = 'Dette innlegget ble skrevet av Syed Balkhi'. $ content.'Check out WPBeginner '; returner $ innhold add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Forklaring: Vi ringer en funksjon wpbeginner_postrss for å legge til i hvert innlegg et innhold før innlegget sier Dette innlegget ble skrevet av Syed Balkhi og etter innholdet Sjekk ut WPBeginner. Men vi legger til funksjonen hvis (is_feed), så det vil bare bli vist i RSS-feeder.
Dette ville være svært nyttig hvis du ønsket å selge annonser på bestemte innlegg i RSS, legge til tilpassede FTC retningslinjer eller bare ville ha mer kontroll over RSS-feeds.
Kilde: Vi brukte Joosts RSS Footer-plugin for mye veiledning ved å skrive denne opplæringen. Tittelen RSS hack del vi fikk fra et fransk opplæringssted og vi la våre egne variabler og ga det muligheten til å være egendefinerte titler per tilpasset felt.