Hoe aangepaste RSS-feeds maken in WordPress

Hoe aangepaste RSS-feeds maken in WordPress / tutorials

WordPress wordt geleverd met ingebouwde standaard RSS-feeds. U kunt de standaardfeeds aanpassen door aangepaste inhoud toe te voegen aan uw RSS-feeds, of zelfs een postminiatuur aan uw RSS-feeds toe te voegen. De standaard RSS- en Atom-feeds zijn genoeg voor de meeste gebruikers, maar u wilt mogelijk een aangepaste RSS-feed maken voor het leveren van specifieke soorten content. In dit artikel laten we u zien hoe u aangepaste RSS-feeds maakt in WordPress.

Let op: deze tutorial is niet bedoeld voor WordPress-gebruikers op beginnersniveau. Als je een beginner bent, en toch wilt proberen, doe dat dan via een lokale installatie.

Zoals altijd moet u een volledige back-up maken van uw WordPress-website voordat u belangrijke wijzigingen in een live website aanbrengt.

Dat gezegd hebbende, laten we aan de slag met uw eerste aangepaste RSS-feed in WordPress.

Laten we aannemen dat je een nieuwe RSS-feed wilt maken met alleen de volgende informatie:

  • Titel
  • Link
  • datum van het uitbrengen
  • Schrijver
  • Uittreksel

Het eerste wat u hoeft te doen is de nieuwe RSS-feed maken in uw thema's functions.php bestand of in een site-specifieke plug-in:

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

De bovenstaande code triggert de customRSS functie, die de feed toevoegt. De add_feed-functie heeft twee argumenten, feednaam en een callback-functie. De feednaam vormt uw nieuwe feed-URL yourdomain.com/feed/feedname en de callback-functie wordt aangeroepen om de feed daadwerkelijk te maken. Noteer de feednaam, want u heeft dit later nog nodig.

Nadat u de feed heeft geïnitialiseerd, moet u de callback-functie maken om de vereiste feed te maken, met behulp van de volgende code in uw thema's functions.php bestand of in een site-specifieke plug-in:

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

De bovenstaande code gebruikt de get_template_part functie om naar een afzonderlijk sjabloonbestand te linken, maar u kunt de RSS-code ook direct in de functie plaatsen. Door het gebruiken van get_template_part, we kunnen de functionaliteit gescheiden houden van de lay-out. De get_template_part functie heeft twee argumenten, slug en naam, die naar een sjabloonbestand met de naam in de volgende indeling zoeken, beginnend met het bestand bovenaan (als het de eerste niet vindt, zal het naar de tweede gaan en spoedig):

  1. wp-content / themes / kind / rss-feedname.php
  2. wp-content / themes / ouder / rss-feedname.php
  3. wp-content / themes / kind / rss.php
  4. wp-content / themes / ouder / rss.php

Voor de doeleinden van deze zelfstudie is het het beste om de slug in te stellen op het type feed dat u aan het maken bent (in dit geval: rss) en de naam aan de feednaam die eerder is geconfigureerd op.

Nadat u WordPress hebt verteld dat u naar de feedsjabloon moet zoeken, moet u deze maken. De onderstaande code produceert de lay-out voor de feed met de eerder vermelde informatie. Bewaar dit bestand in uw themamap als het slug-name.php-sjabloonbestand geconfigureerd in de get_template_part functie.

     - Voeden                        

Deze sjablooncode genereert een RSS-feed volgens de bovenstaande lay-out. De Postcount variabele stelt u in staat om het aantal berichten te beheren dat in uw feed moet worden weergegeven. De sjabloon kan naar behoefte worden aangepast om de gewenste informatie weer te geven (bijvoorbeeld postafbeeldingen, opmerkingen, enzovoort).

De the_excerpt_rss functie toont het uittreksel van elk bericht en voor berichten die geen uittreksels bevatten, worden de eerste 120 woorden van de inhoud van het bericht weergegeven.

Als laatste, om uw feed weer te geven, moet u eerst uw WordPress-regels voor herschrijven doorspoelen. De eenvoudigste manier om dit te doen, is door in te loggen bij de WordPress-beheerder en te klikken Instellingen -> Permalinks. Klik hier eenmaal op Wijzigingen opslaan, die de herschrijfregels zal doorspoelen.

Je hebt nu toegang tot je nieuwe feed op yourdomain.com/feed/feedname, waarbij feednaam de feednaam was die u in de add_feed eerder functioneren.

De W3C biedt een feedvalidatieservice, waarmee u de resulterende feed kunt valideren.

Probleemoplossen

  • Ik krijg een 404-foutmelding wanneer ik mijn feed probeer te bekijken!
    • Controleer of u de juiste feednaam in uw URL gebruikt. Het moet degene zijn die u hebt geleverd in de add_feed functie
    • Als u de juiste feednaam hebt, zijn uw herschrijfregels mogelijk niet correct gespoeld. Sla uw permalinks opnieuw op voor de zekerheid.
    • Als je je permalinks opnieuw hebt opgeslagen, kun je een rewrite-flush forceren via het functions.php-bestand van je thema. Voeg de volgende code toe aan de customRSS-functie die we eerder hebben gemaakt. Zorg ervoor dat u de code toevoegt na de add_feed functie.
    •  globale $ wp_rewrite; $ Wp_rewrite-> flush_rules (); 
    • Zodra u dit heeft toegevoegd, laadt u uw WordPress-site opnieuw. OPMERKING: dit moet onmiddellijk na gebruik worden verwijderd. Eenmaal is genoeg om de regels door te spoelen.
  • Mijn feed is niet geldig!
    • Met behulp van de W3C-feedvalidator moeten specifieke details worden vermeld waar uw feed niet valideert. Bewerk het feed-sjabloonbestand om deze problemen op te lossen
  • Ik krijg een validatiefout!
    • Dit is gebruikelijk wanneer de RSS-taal niet is geconfigureerd in uw WordPress-installatie. Om dit te doen, kunt u de volgende code toevoegen aan uw thema's functions.php bestand, om de taaloptie bij te werken.
    •  function rssLanguage () update_option ('rss_language', 'en');  add_action ('admin_init', 'rssLanguage'); 
    • Bewerk het tweede argument van de update_option-functie om de taal te wijzigen in een taal die u nodig hebt. Bekijk de volledige lijst met RSS-taalcodes.
    • Nadat de bovenstaande code is toegevoegd aan uw functiesbestand, laadt u het WordPress-beheerdersscherm om dit effect te geven. Hierna moet de code uit uw WordPress-functiesbestand worden verwijderd. Eén keer laden is voldoende om de instelling rss_language te configureren.
    • Dit kan ook rechtstreeks in de database worden gedaan door te zoeken naar de optie rss_language in de tabel wp_options.

We hopen dat dit artikel u heeft geholpen bij het maken van uw eigen aangepaste RSS-feeds in WordPress. Laat ons weten hoe en waarom u aangepaste RSS-feeds op uw WordPress-site gaat gebruiken door een opmerking hieronder te laten.