Så här skapar du anpassade RSS-flöden i WordPress

Så här skapar du anpassade RSS-flöden i WordPress / Handledningar

WordPress levereras med inbyggda standard RSS-flöden. Du kan tweak standardfeeds genom att lägga till anpassat innehåll till dina RSS-flöden, eller till och med lägga till miniatyrbild till dina RSS-flöden. Standard RSS och Atom-flöden räcker för de flesta användare, men du kanske vill skapa ett anpassat RSS-flöde för att leverera en specifik typ av innehåll. I den här artikeln visar vi hur du skapar anpassade RSS-flöden i WordPress.

Observera att den här handledningen inte är avsedd för nybörjarnivå WordPress-användare. Om du är nybörjare och ändå vill prova, vänligen gör det på en lokal installation.

Som alltid måste du skapa en fullständig säkerhetskopia av din WordPress-webbplats innan du gör några större ändringar på en levande webbplats.

Med detta sagt, låt oss börja med ditt första anpassade RSS-flöde i WordPress.

Låt oss anta att du vill skapa ett nytt RSS-flöde som bara visar följande information:

  • Titel
  • Länk
  • Publicerad Datum
  • Författare
  • Utdrag

Det första du behöver göra är att skapa det nya RSS-flödet i ditt tema functions.php fil eller i en webbplatsspecifik plugin:

 add_action ('init', 'customRSS'); funktion customRSS () add_feed ('feedname', 'customRSSFunc');  

Ovanstående kod utlöser customRSS funktion som lägger till flödet. Add_feed-funktionen har två argument, matningsnamn och en återuppringningsfunktion. Fodernamnet utgör din nya matningsadress yourdomain.com/feed/feedname och återuppringningsfunktionen kommer att kallas för att faktiskt skapa flödet. Notera flödesnamnet, som du behöver senare.

När du har initialiserat flödet måste du skapa återuppringningsfunktionen för att producera det önskade flödet, med hjälp av följande kod i ditt tema functions.php fil eller i en specifik plugin för webbplatsen:

 funktion customRSSFunc () get_template_part ('rss', 'feedname');  

Koden ovan använder get_template_part funktion för att länka till en separat mallfil, men du kan också placera RSS-koden direkt i funktionen. Genom att använda get_template_part, Vi kan hålla funktionaliteten separerad till layouten. De get_template_part funktionen har två argument, slug och namn, som kommer att leta efter en mallfil med namnet i följande format, börjar med filen längst upp (om den inte hittar den första kommer den att gå vidare till den andra och så vidare):

  1. wp-content / themes / barn / rss-feedname.php
  2. wp-content / themes / förälder / rss-feedname.php
  3. wp-content / themes / barn / rss.php
  4. wp-content / themes / förälder / rss.php

I den här handledningen är det bäst att ställa in sluggen till typen av mat du skapar (i det här fallet: rss) och namnet på flödesnamnet som konfigurerats tidigare på.

När du har sagt WordPress att leta efter matningsskärmen måste du skapa den. Nedan koden kommer att skapa layouten för flödet med den information vi listade tidigare. Spara den här filen i din templatmapp som slug-name.php-mallfilen konfigurerad i get_template_part fungera.

     - Utfodra                        

Denna mallkod skapar ett RSS-flöde enligt ovanstående layout. De postCount variabel kan du styra antalet inlägg som ska visas i ditt flöde. Mallen kan ändras efter behov för att visa vilken information du behöver (t.ex. efter bilder, kommentarer etc.).

De the_excerpt_rss funktionen kommer att visa utdraget av varje inlägg, och för inlägg som inte har utdrag kommer det att visas de första 120 orden i inläggets innehåll.

För att visa ditt flöde måste du först skölja dina WordPress-omskrivningsregler. Det enklaste sättet att göra detta är genom att logga in på WordPress-administratören och klicka på Inställningar -> Permalinks. En gång här, klicka bara på Spara ändringar, som kommer att spola omskrivningsreglerna.

Nu kan du komma åt ditt nya flöde på yourdomain.com/feed/feedname, där matningsnamn var den feednamn du gav i add_feed funktion tidigare.

W3C erbjuder en valideringsservice för mat, så att du kan validera det resulterande flödet.

Felsökning

  • Jag får ett 404-fel när jag försöker visa mitt flöde!
    • Kontrollera om du använder rätt flödesnamn i din webbadress. Det måste vara den du levererade i add_feed fungera
    • Om du har rätt matningsnamn kanske inte dina omskrivningsregler har spolas korrekt. Spara om dina permalinks igen för att vara säker.
    • Om du har sparat dina permalinks igen kan du tvinga en omskrivning spola via ditt temas funktioner.php-fil. Lägg till följande kod i den customRSS-funktion som vi skapade tidigare. Se till att du lägger till koden efter add_feed fungera.
    •  global $ wp_rewrite; $ Wp_rewrite-> flush_rules (); 
    • När du har lagt till det här laddar du om din WordPress-webbplats. OBS: Detta ska tas bort omedelbart efter användning. En gång är nog för att reglerna ska spolas.
  • Min matning validerar inte!
    • Med hjälp av W3C-matningsvalideraren bör specifika uppgifter anges där ditt flöde inte valideras. Redigera flödesmallfilen för att lösa dessa problem
  • Jag får ett valideringsfel!
    • Det här är vanligt där RSS-språket inte har konfigurerats i din WordPress-installation. För att göra detta kan du lägga till följande kod i ditt tema functions.php fil, för att uppdatera språkalternativet.
    •  funktionen rssLanguage () update_option ('rss_language', 'en');  add_action ('admin_init', 'rssLanguage'); 
    • Redigera det andra argumentet i update_option-funktionen för att ändra språket till en du behöver. Kolla in hela listan med RSS-språkkoder.
    • När ovanstående kod har lagts till i din funktionsfil laddar du WordPress-administratörskärmen för att den ska träda i kraft. Därefter ska koden tas bort från din WordPress-funktionsfil. Det går nog att ladda det en gång för att konfigurera rss_language-inställningen.
    • Detta kan också göras direkt i databasen genom att leta efter alternativet rss_language i wp_options-tabellen.

Vi hoppas att den här artikeln hjälpte dig att skapa egna RSS-flöden i WordPress. Låt oss veta hur och varför du kommer att använda anpassade RSS-flöden på din WordPress-webbplats genom att lämna en kommentar nedan.