Oprettelse af tilpasset WordPress RSS / XML Feed

Du kan på et tidspunkt i din WordPress-udvikling muligvis give nogen en brugerdefineret feed. Uanset om det er at give nogen en API, eller bare give en bedre oplevelse for et bestemt sæt brugere, gøres det nemt.

Jeg foretrækker at oprette et nyt feed i stedet for at udvide standardfeedsne, da jeg finder denne metode lidt enklere

add_feed WordPress funktion

 add_filter ( 'init', 'tj_init_custom_feed'); funktion tj_init_custom_feed () {// initialiser feed add_feed ('custom-feed', 'tj_custom_feed'); } 

I din functions.php-fil i dit WordPress-tema skal du tilføje koden ovenfor. Som det bedste ikke at ringe add_feed direkte, tilføjer vi det via et filter på 'init'. Den første parameter i funktionsopkaldet bruges til at levere URL-sluggen til foderet. Den anden parameter bruges til at knytte den til et funktionsnavn. Så når den pågældende URL hedder (yourblogurl.com/customfeed), udfører den PHP-funktionen tj_custom_feed.

Vær opmærksom på, at omskrivningsreglerne for WordPress skal skylles, før den webadresse bliver genkendt korrekt. En god simpel måde at tvinge reglerne til at skylles på er at gå til WordPress Admin -> Indstillinger -> Permalinks, og klik derefter på knappen Gem ændringer.

Udsender XML

Der er virkelig intet alt for komplekst til at udstede RSS / XML feed-koden. For det første indstilles indholdstypen via php header-funktionen, så den kan gengives hensigtsmæssigt. Derefter henter vi nogle data fra get_posts, loop igennem det og ekko det ud til skærmen.

 funktion tj_custom_feed () {header ("Content-type: text / xml"); ekko "\ n"; ekko "\ n"; $ posts = get_posts (); foreach ($ indlæg som $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'fuld'); ekko ''; ekko "\ t". $ post-> ID. "\ N"; ekko "\ t". $ post-> post_date. "\ N"; ekko "\ t". $ post_link. "\ N"; ekko "\ t". esc_html ($ post-> post_title). "\ N"; ekko "\ t". esc_html (strip_tags ($ post-> post_excerpt)). "\ N"; ekko "\ t". $ billede [0]. ""; ekko ''; } ekko ""; Afslut; } 
Se Også