Aangepaste RSS-feeds maken in WordPress

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


Houd er rekening mee dat deze tutorial niet bedoeld is voor WordPress-gebruikers op beginnersniveau. Als je een beginner bent en het toch wilt proberen, doe dat dan op een lokale installatie.

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

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

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

  • Titel
  • Koppeling
  • datum van het uitbrengen
  • Auteur
  • Uittreksel

Het eerste dat u hoeft te doen, is de nieuwe RSS-feed maken in het functies.php-bestand van uw thema of in een sitespecifieke plug-in:

add_action (‘init’, ‘customRSS’);
functie customRSS () {
add_feed (‘feedname’, ‘customRSSFunc’);
}

De bovenstaande code activeert de customRSS-functie, die de feed toevoegt. De add_feed-functie heeft twee argumenten, feedname en een callback-functie. De feednaam vormt uw nieuwe feed-url uwdomein.com/feed/feedname en de callback-functie wordt aangeroepen om de feed daadwerkelijk te maken. Noteer de feednaam, die heb je later nodig.

Nadat u de feed heeft geïnitialiseerd, moet u de callback-functie maken om de vereiste feed te produceren, met behulp van de volgende code in het functies.php-bestand van uw thema of in een sitespecifieke plug-in:

functie customRSSFunc () {
get_template_part (‘rss’, ‘feedname’);
}

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

  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 deze tutorial is het het beste om de slug in te stellen op het type feed dat je maakt (in dit geval: rss), en de naam naar de feednaam die eerder is geconfigureerd op.

Nadat u WordPress heeft verteld om naar de feed-sjabloon te zoeken, moet u deze maken. De onderstaande code produceert de lay-out voor de feed met de informatie die we eerder hebben vermeld. Sla dit bestand op in uw themamap als het slug-name.php-sjabloonbestand dat is geconfigureerd in de functie get_template_part.

<?php
/ **
* Sjabloonnaam: aangepaste RSS-sjabloon – feednaam
* /
$ postCount = 5; // Het aantal berichten dat in de feed moet worden weergegeven
$ posts = query_posts (‘showposts =’. $ postCount);
header (‘Content-Type:’ .feed_content_type (‘rss-http’). ‘; charset =’. get_option (‘blog_charset’), waar);
echo ‘<?xml-versie ="1.0" codering ="’.get_option (‘ blog_charset ‘).’"?’.’>’;
?>
>

<?php bloginfo_rss (‘naam’); ?> – Voeden
" rel ="zelf" type ="applicatie / rss + xml" />
<?php bloginfo_rss (‘url’) ?>
<?php bloginfo_rss (‘beschrijving’) ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_lastpostmodified (‘GMT’), false); ?>
<?php echo get_option (‘rss_language’); ?>
<?php echo apply_filters (‘rss_update_period’, ‘hourly’); ?>
<?php echo apply_filters (‘rss_update_frequency’, ‘1’); ?>
<?php do_action (‘rss2_head’); ?>
<?php terwijl (have_posts ()): the_post (); ?>

<?php the_title_rss (); ?>
<?php the_permalink_rss (); ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_post_time (‘Y-m-d H: i: s’, true), false); ?>
<?php the_author (); ?>
<?php the_guid (); ?>

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    [ware_item id=87][/ware_item]