Hur man lägger till innehåll och fullständigt manipulerar dina WordPress RSS-flöden
Ett tag tillbaka delade vi hur du kan styra din WordPress RSS Footer med hjälp av ett känt plugin som heter RSS Footer av Joost. Medan pluginet är bra, men det är väldigt begränsat. Du kan bara lägga till text i sidfoten, och det är alltid samma text som visas på varje inläggs sidfot. Vad händer om du vill visa olika text för varje inlägg i ditt RSS-inlägg? Vad händer om du vill ha specifika inlägg att ha en annan titel i RSS-flöden? Vad händer om du vill visa ett specifikt anpassat fält i dina RSS-flöden? Tja, det är därför vi presenterar dig den här artikeln som visar hur du lägger till vilken typ av innehåll som helst i dina WordPress RSS-flöden. Denna hack kommer att ge dig kontroll över dina WordPress RSS-flöden och du kan manipulera den i alla fall du vill.
Obs! Detta hack är inte för nybörjare. Endast användare som känner sig bekväma med att redigera functions.php-filen och har viss kunskap om php ska försöka detta. Nybörjare bör antingen använda det plugin som nämns i artikeln ovan, eller kontakta professionella som oss för att göra det åt dig.
1. Lägg till ett anpassat fält i din WordPress RSS Footer
I det här första exemplet visar vi dig hur du kan använda anpassat fält för att visa specifik text / objekt i ditt WordPress RSS-flöde. Det här tricket låter dig visa olika text, annons, bild eller något annat för varje inlägg. Öppna först dina functions.php och klistra in följande koder i php-taggarna:
funktion wpbeginner_postrss ($ content) global $ wp_query; $ postid = $ wp_query-> post-> ID; $ coolcustom = get_post_meta ($ postid, "coolcustom", true); om (is_feed ()) if ($ coolcustom! == ") $ content = $ content."
"$ Coolcustom." "; annat $ content = $ content; returnera $ content; add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Nu undrar de flesta av er hur denna kod fungerar. Så här är en förklaring. Vi skapar en funktion som heter wpbeginner_postrss som kör en global wp_query för att söka i varje inlägg om ett anpassat fält kallat "coolcustom" definieras. Om Cool Custom definieras så visar det värdet efter inläggets innehåll. Om det inte finns något eget fält definierat, visar funktionen som standard bara postinnehållet och inget annat. Vi använder variabeln $ innehåll för att visa innehåll. Vi använder om (is_feed) funktionen och lägger till den anpassade texten eller annat innehåll till huvudinläggets innehåll som du kan se med det andra filtret. Men det kommer bara att visas i RSS-flödena på grund av vår användare av if (is_feed) -funktionen. Genom att göra det så undviker vi alla kompatibilitetsproblem.
Vissa av er kommer att säga, men du gjorde precis vad RSS-footer-plugin gör med en funktion. Ja och nej. Ja, vi lägger till koden vid fotposten i posten, men den här texten är inte samma exakta text för varje inlägg. Det är annorlunda eftersom du anger olika text för varje inlägg via egna fält. Det här tricket kommer att vara mycket praktiskt att följa de nya FTC-riktlinjerna för bloggar som har alla olika typer av inlägg.
2. Lägga till ytterligare text till posttitel i RSS
Har din blogg gästposter, sponsrade inlägg och granskningsinlägg? Tja om du gör så hittar du det här mycket användbart. Vissa bloggare har anpassad styling för att visa olika typer av inlägg, så deras användare kan skilja mellan dem. Men när dessa inlägg går i en läsare är alla stylingar borta. Det är då det här tricket är till nytta. I detta trick lägger vi till någon text antingen före eller efter titeln.
Till exempel om din titel var "Commercial WordPress Theme - StudioPress" och det var ett sponsrat inlägg, då kan du ändra det till "Sponsored Post: Commercial WordPress Theme - StudioPress". Samma om någon skrev gästpost etc.
För att uppnå detta, öppna din functions.php-fil och lägg till följande kod där:
funktion 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); om $ gpost! == ") $ content = 'Gästpost:'. $ content; elseif ($ spost! ==") $ content = 'Sponsat inlägg:'. $ content; annat $ content = $ content; returnera $ innehåll add_filter ('the_title_rss', 'wpbeginner_titlerss');
Förklaring till koden:
Vi använder funktionen wpbeginner_titlerss som kör en global wp_query för att söka i varje inlägg om det innehåller antingen $ gpost eller $ spost. Dessa två element söker i princip två specifika anpassade fält som heter "guest_post" eller "sponsored_post". Om någon har dessa anpassade fält tillagda med ett värde sant, läggs koden i texten. Om inte så ser du bara den vanliga titeln. Du kan först se koden ser ut om $ gpost är sant, om det inte är sant om $ spost är sant. Om det inte heller är definierat, visas det normala innehållet. Men om någon av dem var sant, så visar den den olika texten du anger här. Vi använder $ content string för att visa posttiteln.
Nu var det bara att visa egna fält i titeln. Vill du visa kategorinamn på varje titel? Tja då borde du helt enkelt klistra in följande kod i din functions.php-fil:
funktion wpbeginner_cattitlerss ($ content) $ postcat = ""; foreach ((get_the_category ()) som $ cat) $ postcat. = '('. $ cat-> cat_name. ')'; $ content = $ content. $ postcat; returnera $ content; add_filter ('the_title_rss', 'wpbeginner_cattitlerss');
Förklaring: Vi använder funktionen wpbgeinner_cattitlerss för att få kategoridokumentet för varje inlägg och sedan visa det bredvid titeln. Så om titeln är "Få kontaktformulär 7" nu skulle det vara "Få kontaktformulär 7 [Plugins]". Du kan se att det inte finns någon om då variabel i den här koden. Vi använder $ innehåll för huvudtiteln och $ postcat-variabeln för att definiera kategorinamnet. Du omordnar det om du vill.
3. Lägg till samma text på alla inlägg i RSS
Om du bara vill lägga till samma text så kan du lika bra använda det plugin som heter RSS Footer av Joost eftersom det är lättare. Men om du vill göra det själv så här gör du det. Öppna din functions.php-fil lägg till följande kod:
funktion wpbeginner_postrss ($ content) if (is_feed ()) $ content = 'Det här inlägget skrevs av Syed Balkhi'. $ content.'Check out WPBeginner '; returnera $ innehåll add_filter ('the_excerpt_rss', 'wpbeginner_postrss'); add_filter ('the_content', 'wpbeginner_postrss');
Förklaring: Vi ringer en funktion wpbeginner_postrss för att lägga till i varje inlägg ett innehåll innan posten säger att detta inlägg skrevs av Syed Balkhi och efter innehållet. Kolla in WPBeginner. Men vi lägger till funktionen om (is_feed), så den visas bara i RSS-flöden.
Detta skulle vara till stor hjälp om du ville sälja annonser på specifika inlägg i RSS, lägga till egna FTC-riktlinjer eller bara ville ha mer kontroll över dina RSS-flöden.
Källa: Vi använde Joosts RSS Footer-plugin för mycket vägledning i skrivandet av denna handledning. Titeln RSS hack del vi fick från en fransk tutorial webbplats och vi lade till våra egna variabler och gav det möjlighet att vara egna titlar per anpassat fält.