Inhoud toevoegen en uw WordPress RSS-feeds volledig manipuleren

Inhoud toevoegen en uw WordPress RSS-feeds volledig manipuleren / tutorials

Een tijdje terug hebben we gedeeld hoe je je WordPress RSS Footer kunt besturen met een bekende plugin genaamd RSS Footer van Joost. Hoewel de plug-in geweldig is, maar hij is zeer beperkt. U kunt alleen tekst aan het voettekst toevoegen en het is altijd dezelfde tekst die wordt weergegeven in de voettekst van elke post. Wat als u verschillende tekst voor elk bericht in uw RSS-bericht wilt weergeven? Wat als je wilt dat specifieke berichten een andere titel hebben in RSS-feeds? Wat als u een specifiek aangepast veld in uw RSS-feeds wilt weergeven? Welnu, dit is waarom we u dit artikel presenteren, dat u laat zien hoe u elk type inhoud in uw WordPress RSS-feeds kunt toevoegen. Deze hack geeft je controle over je WordPress RSS-feeds en je kunt deze manipuleren op de manier die jij wilt.

Opmerking: deze hack is niet voor beginners. Alleen gebruikers die zich op hun gemak voelen met het bewerken van functions.php file en enige kennis van php hebben, moeten dit proberen. Beginnende gebruikers moeten de plug-in gebruiken die in het bovenstaande artikel wordt genoemd, of professionals zoals wij raadplegen om het voor u te doen.

1. Voeg een aangepast veld toe aan uw WordPress RSS-voettekst

In dit eerste voorbeeld laten we u zien hoe u een aangepast veld kunt gebruiken om specifieke tekst / objecten weer te geven in uw WordPress RSS-feed. Met deze truc kun je voor elk bericht verschillende tekst, advertenties, afbeeldingen of iets anders laten zien. Open eerst uw functions.php en plak de volgende codes in de php-tags:

 functie 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; return $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');

Nu vragen de meesten van jullie zich af hoe deze code functioneert. Dus hier is een verklaring. We maken een functie genaamd wpbeginner_postrss die een globale wp_query uitvoert om in elke post te zoeken of een aangepast veld met de naam "coolcustom" is gedefinieerd. Als Cool Custom is gedefinieerd, wordt de waarde na de berichtinhoud weergegeven. Als er geen aangepast veld is gedefinieerd, toont de functie standaard alleen de berichtinhoud en niets anders. We gebruiken de variabele $ -inhoud om inhoud weer te geven. We gebruiken if (is_feed) -functie en voegen de aangepaste tekst of andere inhoud toe aan de inhoud van de hoofdpost zelf, die u kunt zien aan de hand van het tweede filter. Maar het wordt alleen weergegeven in de RSS-feeds vanwege onze gebruiker van if (is_feed) -functie. Op deze manier vermijden we alle compatibiliteitsproblemen.

Sommigen van jullie zullen zeggen, maar je hebt net gedaan wat RSS footer plug-in doet met een functie. Ja en nee. Ja, we voegen de code aan de voet van de post toe, maar deze tekst is niet dezelfde exacte tekst voor elke post. Het is anders omdat u verschillende tekst voor elk bericht opgeeft via aangepaste velden. Deze truc is erg handig om te voldoen aan de nieuwe FTC-richtlijnen voor blogs met allerlei verschillende soorten berichten.

2. Toevoegen van extra tekst aan berichttitels in RSS

Bevat je blog gastberichten, gesponsorde berichten en beoordelingsberichten? Welnu, als u dat doet, zult u dit zeer nuttig vinden. Sommige bloggers hebben een aangepaste stijl om elk verschillend berichttype weer te geven, zodat hun gebruikers er een onderscheid tussen kunnen maken. Maar wanneer deze berichten in een lezer terechtkomen, zijn alle stijlen verdwenen. Dat is wanneer deze truc van pas komt. In deze truc zullen we elke tekst vóór of na de titel toevoegen.

Als uw titel bijvoorbeeld "Commercieel WordPress-thema - StudioPress" was en het een gesponsorde post was, kunt u dit wijzigen in "Gesponsorde bericht: commercieel WordPress-thema - StudioPress". Hetzelfde als iemand een gastpost heeft geschreven, enz.

Om dit te bereiken, opent u uw functions.php-bestand en voegt u de volgende code daarin toe:

 functie 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 = 'Gastenpost:'. $ content; elseif ($ spost! ==") $ content = 'Gesponsorde post:'. $ inhoud;  else $ content = $ content;  retourneer $ inhoud;  add_filter ('the_title_rss', 'wpbeginner_titlerss'); 

Uitleg voor de code:

We gebruiken de functie genaamd wpbeginner_titlerss die een globale wp_query uitvoert om in elke post te zoeken als deze $ gpost of $ spost bevat. Deze twee elementen zijn in feite op zoek naar twee specifieke aangepaste velden genaamd "guest_post" of "sponsored_post". Als iemand deze aangepaste velden heeft toegevoegd met een waarde true, dan zal de code deze in de tekst toevoegen. Zo niet, dan ziet u gewoon de normale titel. Je kunt eerst zien of de code kijkt of $ gpost waar is, als dat niet waar is of $ spost waar is. Als dat niet ook niet is gedefinieerd, wordt de normale inhoud weergegeven. Maar als een van beide waar is, wordt de andere tekst weergegeven die u hier opgeeft. We gebruiken de string $ content om de titel van het bericht weer te geven.

Dat was alleen maar het weergeven van aangepaste velden in de titel. Wilt u de categorienaam van elke titel weergeven? Nou dan moet je gewoon de volgende code in je functions.php bestand plakken:

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

Uitleg: We gebruiken de functie wpbgeinner_cattitlerss om de categorie-ID voor elke post te krijgen en die vervolgens rechts naast de titel weer te geven. Dus als de titel "Get Contact Form 7" is, zou het nu "Get Contact Form 7 [Plugins]" zijn. Je kunt zien dat er geen variabele is in deze code. We gebruiken $ content voor de hoofdtitel en $ postcat variabele om de categorienaam te definiëren. Je herschikt dat als je wilt.

3. Voeg dezelfde tekst toe aan alle berichten in RSS

Als u alleen dezelfde tekst wilt toevoegen, kunt u net zo goed de plug-in RSS-footer van Joost gebruiken omdat het eenvoudiger is. Maar als je het zelf wilt doen, doe je het zo. Open uw functions.php bestand voeg de volgende code toe:

 function wpbeginner_postrss ($ content) if (is_feed ()) $ content = 'Dit bericht is geschreven door Syed Balkhi'. $ content.'Check out WPBeginner ';  retourneer $ inhoud;  add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss'); 

Uitleg: We noemen een functie wpbeginner_postrss om in elke post een inhoud toe te voegen vóór het bericht dat zegt: This Post is geschreven door Syed Balkhi en na de inhoud Bekijk WPBeginner. Maar we voegen de functie toe als (is_feed), dus het wordt alleen weergegeven in RSS-feeds.

Dit zou erg handig zijn als u advertenties op specifieke berichten in RSS wilt verkopen, aangepaste FTC-richtlijnen wilt toevoegen of als u meer controle over uw RSS-feeds wilt hebben.

Bron: We gebruikten Joost's RSS voettekst plugin voor veel begeleiding bij het schrijven van deze tutorial. Het titel RSS-hackgedeelte dat we kregen van een Franse tutorial-site en we hebben onze eigen variabelen toegevoegd en het de mogelijkheid gegeven om aangepaste titels per aangepast veld te zijn.