Anonim

Sa isang punto sa iyong pag-unlad ng WordPress ay maaaring kailanganin upang magbigay ng isang pasadyang feed sa isang tao. Kung ito ay upang magbigay ng isang tao ng isang API, o magbigay lamang ng isang mas mahusay na karanasan para sa isang tiyak na hanay ng mga gumagamit, madali itong tapos na.

Mas gusto kong lumikha ng isang bagong feed sa halip na palawakin ang mga default na feed habang nakikita ko ang pamamaraang ito nang medyo mas simple

add_feed WordPress function

add_filter ('init', 'tj_init_custom_feed'); function tj_init_custom_feed () {// paunang simulan ang feed add_feed ('pasadyang feed', 'tj_custom_feed'); }

Sa file ng iyong function.php sa iyong WordPress tema, idagdag ang code sa itaas. Bilang pinakamahusay na hindi tawagan ang add_feed nang direkta, idinagdag namin ito sa pamamagitan ng isang filter sa 'init'. Ang unang parameter sa tawag na function ay ginagamit upang maibigay ang slug ng URL para sa feed. Ang pangalawang parameter ay ginagamit upang itali ito sa isang pangalan ng pag-andar. Kaya, kapag ang url na iyon ay tinatawag na (yourblogurl.com/custom-feed), pinapatupad nito ang pagpapaandar ng PHP tj_custom_feed.

Mangyaring tandaan na ang muling pagsulat ng mga patakaran para sa WordPress ay dapat na ma-flush bago makilala ng maayos ang URL. Ang isang mahusay na simpleng paraan upang pilitin ang mga patakaran na ma-flush ay ang pumunta sa WordPress Admin -> Mga Setting -> Mga Permalink, at pagkatapos ay i-click ang pindutan ng pag-save ng mga pagbabago.

Outputting ang XML

Talagang wala masyadong kumplikado tungkol sa pag-output ng RSS / XML feed code. Una, ang uri ng nilalaman ay nakatakda sa pamamagitan ng pag-andar ng php header upang ma-render ito nang naaangkop. Susunod, kumuha kami ng ilang data mula sa get_post, loop sa pamamagitan nito, at i-echo ito sa screen.

function tj_custom_feed () {header ("Uri ng nilalaman: teksto / xml"); echo "\ n"; sigaw " \ n "; $ post = get_post (); unahan ($ post bilang $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thplay_id ($ post-> ID), 'buong') ; 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 ". $ imahe." "; echo ' '; } echo " "; exit;}

Lumilikha ng pasadyang wordpress rss / xml feed