Anonim

Du på et tidspunkt i WordPress-utviklingen din kan trenge å gi noen en tilpasset strøm. Enten det er for å gi noen et API, eller bare gi en bedre opplevelse for et visst sett med brukere, gjøres det enkelt.

Jeg foretrekker å lage en ny feed fremfor å utvide standardinnmatingene, da jeg synes denne metoden er litt enklere

add_feed WordPress-funksjon

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

Legg til koden over i funksjonsfilen-filen i WordPress-temaet. Som det beste for å ikke kalle add_feed direkte, legger vi det til gjennom et filter på 'init'. Den første parameteren i funksjonsanropet brukes til å gi URL-snegle for innmating. Den andre parameteren brukes til å knytte den til et funksjonsnavn. Så når den url heter (yourblogurl.com/custom-feed), kjører den PHP-funksjonen tj_custom_feed.

Vær oppmerksom på at omskrivereglene for WordPress må spyles før den URL-en blir gjenkjent riktig. En god enkel måte å tvinge reglene som skal spyles på er å gå til WordPress Admin -> Innstillinger -> Permalinks, og klikk deretter på lagre endringsknappen.

Utdata XML

Det er egentlig ingenting for komplekst med å sende inn RSS / XML-innmatingskoden. Først settes innholdstypen via php-headerfunksjonen slik at den kan gjengis på riktig måte. Deretter henter vi noen data fra get_posts, sløyfe gjennom dem og ekko dem ut til skjermen.

funksjon tj_custom_feed () {header ("Innholdstype: tekst / xml"); ekko "\ n"; ekko " \ n "; $ posts = get_posts (); foreach ($ posts as $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_Themesnail_id ($ post-> ID), 'full') ; ekko ' '; ekko "\ t ". $ post-> ID." \ n "; ekko" \ t ". $ post-> post_date." \ n "; ekko" \ t ". $ post_link." \ n "; ekko" \ t \ n "; ekko" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; ekko" \ t ". $ image." "; ekko ' '; } ekko " "; exit; }

Opprette tilpasset wordpress rss / xml feed