Anonim

Mogelijk moet u op een bepaald moment in uw WordPress-ontwikkeling iemand een aangepaste feed geven. Of dat nu is om iemand een API te bieden, of gewoon een betere ervaring te bieden voor een bepaalde set gebruikers, het is gemakkelijk gedaan.

Ik maak liever een nieuwe feed in plaats van de standaardfeeds uit te breiden, omdat ik deze methode een beetje eenvoudiger vind

add_feed WordPress-functie

add_filter ( 'init', "tj_init_custom_feed); functie tj_init_custom_feed () {// initialiseer de feed add_feed ('custom-feed', 'tj_custom_feed'); }

Voeg de bovenstaande code toe aan uw functies.php-bestand in uw WordPress-thema. Omdat het beter is om add_feed niet rechtstreeks aan te roepen, voegen we het toe via een filter op 'init'. De eerste parameter in de functieaanroep wordt gebruikt om de URL-slug voor de feed op te geven. De tweede parameter wordt gebruikt om deze aan een functienaam te koppelen. Dus wanneer die url wordt genoemd (yourblogurl.com/custom-feed), voert deze de PHP-functie tj_custom_feed uit.

Let op: de herschrijfregels voor WordPress moeten worden gewist voordat die URL correct wordt herkend. Een goede eenvoudige manier om de regels te spoelen, is door naar de WordPress-beheerder -> Instellingen -> Permalinks te gaan en vervolgens op de knop Wijzigingen opslaan te klikken.

Uitvoer van de XML

Het uitvoeren van de RSS / XML-feedcode is echt niet zo ingewikkeld. Eerst wordt het inhoudstype ingesteld via de php-headerfunctie, zodat het correct kan worden weergegeven. Vervolgens halen we wat gegevens uit get_posts, doorlopen het en echoën het naar het scherm.

functie tj_custom_feed () {header ("Content-type: text / xml"); echo "\ n"; echo " \ n "; $ posts = get_posts (); foreach ($ posts as $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'full') ; echo ' '; echo "\ t ". $ post-> ID." \ n "; echo" \ t ". $ post-> post_date." \ n "; echo" \ t ". $ post_link." \ n "; echo" \ t ". esc_html ($ post-> post_title)." \ n "; echo" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; echo" \ t ". $ afbeelding." "; echo ' '; } echo " "; Uitgang; }

Aangepaste WordPress RSS / XML-feed maken