Anonim

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

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

add_feed WordPress-funktion

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

Tilføj koden ovenfor i din features.php-fil i dit WordPress-tema. Som det bedste for ikke at kalde add_feed direkte, tilføjer vi det gennem et filter på 'init'. Den første parameter i funktionsopkaldet bruges til at give URL-slug til feedet. Den anden parameter bruges til at binde den til et funktionsnavn. Så når denne url kaldes (yourblogurl.com/custom-feed), udfører den PHP-funktionen tj_custom_feed.

Bemærk, at omskrivningsreglerne for WordPress skal skylles, før denne URL genkendes korrekt. En god enkel måde at tvinge reglerne til at skylle er at gå til WordPress Admin -> Indstillinger -> Permalinks og derefter klikke på knappen Gem ændringer.

Output XML

Der er virkelig ikke noget for komplekst ved at udgive RSS / XML-feedkoden. Først indstilles indholdstypen via php-headerfunktionen, så den kan gengives korrekt. Dernæst henter vi nogle data fra get_posts, går gennem dem og gentager dem ud til skærmen.

funktion tj_custom_feed () {header ("Indholdstype: tekst / xml"); ekko "\ n"; ekko " \ n "; $ posts = get_posts (); foreach ($ posts som $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_Themesnail_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." "; ekko ' '; } ekko " "; Afslut; }

Oprettelse af tilpasset wordpress rss / xml feed