Anonim

U nekom trenutku razvoja WordPressa možda ćete trebati nekome pružiti prilagođeni feed. Bilo da je nekome pružiti API ili jednostavno pružiti bolje iskustvo određenom skupu korisnika, to se lako postiže.

Radije kreiram novi feed nego produžujem zadane feedove jer smatram da je ova metoda malo jednostavnija

add_feed WordPress funkcija

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

U svoju funkciju.php datoteku u vašu WordPress temu dodajte gornji kôd. Kako je najbolje da ne nazove add_feed izravno, dodavamo ga kroz filtar na 'init'. Prvi parametar u pozivu funkcija koristi se za osiguravanje URL-a za feed. Drugi se parametar koristi za povezivanje s nazivom funkcije. Kada se taj url zove (yourblogurl.com/custom-feed), on izvršava PHP funkciju tj_custom_feed.

Imajte na umu da pravila prijepisa za WordPress moraju biti ispunjena prije nego li se URL pravilno prepozna. Dobar jednostavan način prisiljavanja pravila da se zamrše je odlazak na WordPress Administrator -> Postavke -> Permalinks, a zatim kliknite gumb za spremanje promjena.

Izlaženje XML-a

Zapravo nema ništa previše složeno u ispisivanju RSS / XML feed koda. Prvo, vrsta sadržaja postavlja se putem funkcije php zaglavlja, tako da se može prikladno prikazati. Zatim preuzimamo neke podatke iz get_posts, prolazimo kroz njih i emitiramo ih na zaslon.

funkcija tj_custom_feed () {header ("Vrsta sadržaja: tekst / xml"); odjek "\ n"; jeka " \ 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') ; jeka ' „; odjek "\ t ". $ post-> ID." \ n "; odjek" \ t ". $ post-> post_date." \ n "; odjek" \ t ". $ post_link." \ n "; odjek" \ t ". esc_html ($ post-> post_title)." \ n "; odjek" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; odjek" \ t ". $ slika." "; jeka ' „; } jeka " "; Izlaz; }

Izrada prilagođenog wordpress rss / xml feeda