Anonim

V určitom okamihu vo vývoji WordPress bude možno potrebné niekomu poskytnúť vlastný informačný kanál. Či už je to poskytnúť niekomu API, alebo len poskytnúť lepšiu skúsenosť pre určitú skupinu používateľov, dá sa to ľahko urobiť.

Dávam prednosť vytvoreniu nového informačného kanála pred rozšírením predvolených informačných kanálov, pretože túto metódu považujem za trochu jednoduchšiu

add_feed funkcia WordPress

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

Do súboru features.php v téme WordPress pridajte vyššie uvedený kód. Najlepšie je nezavolať add_feed priamo, pridávame ho cez filter na 'init'. Prvý parameter vo funkčnom volaní sa používa na poskytnutie sluchu adresy URL pre informačný kanál. Druhý parameter sa používa na jej priradenie k názvu funkcie. Keď sa teda táto adresa URL nazýva (yourblogurl.com/custom-feed), vykoná funkciu PHP tj_custom_feed.

Upozorňujeme, že pravidlá prepisovania pre WordPress musia byť vyprázdnené skôr, ako bude táto URL správne rozpoznaná. Dobrým jednoduchým spôsobom, ako vynútiť dodržiavanie pravidiel, je prejsť na správcu WordPress -> Nastavenia -> Permalinky a potom kliknúť na tlačidlo Uložiť zmeny.

Výstup XML

Na výstupe kódu informačného kanála RSS / XML naozaj nie je nič príliš zložité. Najprv sa typ obsahu nastaví pomocou funkcie záhlavia php, aby sa dal primerane vykresliť. Ďalej získame niektoré údaje z get_posts, prebehneme cez ne a odošleme ich späť na obrazovku.

function tj_custom_feed () {header ("Content-type: text / xml"); echo "\ n"; ozvena “ \ n "; $ posts = get_posts (); foreach ($ posts ako $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'full') ; echo ' , ; echo "\ t ". $ post-> ID." \ n "; echo" \ t ". $ post-> post_date." \ n "; echo" \ t ". $ post_link." \ n "; echo" \ t \ n "; echo" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; echo" \ t ". $ image." "; echo ' , ; } echo " "; východ; }

Vytvorenie vlastného informačného kanála rss / xml wordpress