Hvordan lage egendefinerte RSS-feeder i WordPress

WordPress leveres med innebygd standard RSS-feeds. Du kan finjustere standardinnmatingene ved å legge til tilpasset innhold i RSS-feedene dine, eller til og med legge til miniatyrbilder til RSS-innmatingene. Standard RSS- og Atom-feeds er nok for de fleste brukere, men det kan være lurt å opprette en tilpasset RSS-feed for å levere spesifikk type innhold. I denne artikkelen vil vi vise deg hvordan du oppretter tilpassede RSS-feeds i WordPress.

Vær oppmerksom på at denne opplæringen ikke er beregnet på WordPress-brukere på begynnernivå. Hvis du er en nybegynner, og fremdeles vil prøve det, kan du gjøre det på en lokal installasjon.

Som alltid må du opprette en fullstendig sikkerhetskopi av WordPress-nettstedet ditt før du gjør store endringer på et live nettsted.

Når det er sagt, la oss komme i gang med din første tilpassede RSS-feed i WordPress.

La oss anta at du vil opprette en ny RSS-strøm som viser bare følgende informasjon:

  • Tittel
  • link
  • Publisert dato
  • Forfatter
  • Utdrag

Det første du trenger å gjøre er å opprette den nye RSS-strømmen i temaets funksjoner.php-fil eller i en stedsspesifikk plugin:

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

Koden ovenfor utløser customRSS-funksjonen, som legger til strømmen. Add_feed-funksjonen har to argumenter, feedname og en tilbakeringingsfunksjon. Innmatingsnavnet vil utgjøre den nye feed-url-en din yourdomain.com/feed/feedname, og tilbakeringingsfunksjonen vil bli kalt for å faktisk opprette feeden. Noter feednavnet, da du trenger dette senere.

Når du har initialisert feeden, må du opprette tilbakeringingsfunksjonen for å produsere den nødvendige feeden ved å bruke følgende kode i temaets funksjoner.php-fil eller i en stedsspesifikk plugin:

funksjon tilpassetRSSFunc () {
get_template_part (‘rss’, ‘feedname’);
}

Koden over bruker funksjonen get_template_part for å koble til en egen malfil, men du kan også plassere RSS-koden direkte i funksjonen. Ved å bruke get_template_part, kan vi holde funksjonaliteten atskilt fra oppsettet. Funksjonen get_template_part har to argumenter, snegle og navn, som vil se etter en malfil med navnet i følgende format, og starte med filen øverst (hvis den ikke finner den første, vil den gå videre til den andre , og så videre):

  1. wp-content / themes / barn / rss-feedname.php
  2. wp-content / themes / foreldre / rss-feedname.php
  3. wp-content / themes / barn / rss.php
  4. wp-content / themes / foreldre / rss.php

I forbindelse med denne opplæringen er det best å sette sneglen til typen feed du oppretter (i dette tilfellet: rss), og navnet til feednavnet som er konfigurert tidligere på.

Når du har sagt til WordPress å lete etter strømmen, må du opprette den. Koden nedenfor produserer oppsettet for feeden med informasjonen vi listet opp tidligere. Lagre denne filen i temamappen din som slug-name.php malfilen konfigurert i get_template_part-funksjonen.

<?php
/ **
* Malnavn: Tilpasset RSS-mal – Feedname
* /
$ postCount = 5; // Antall innlegg som skal vises i strømmen
$ posts = query_posts (‘showposts =’. $ postCount);
header (‘Content-Type:’ .feed_content_type (‘rss-http’). ‘; charset =’. get_option (‘blog_charset’), sant);
ekko ‘<?xml versjon ="1.0" encoding ="’.Get_option ( ‘blog_charset’).’"?”>’;
?>
>

<?php bloginfo_rss (‘navn’); ?> – Mate
" rel ="selv-" type ="application / rss + xml" />
<?php bloginfo_rss (‘url’) ?>
<?php bloginfo_rss (‘beskrivelse’) ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_lastpostmodified (‘GMT’), falsk); ?>
<?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 while (har_posts ()): the_post (); ?>

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me