Anonim

Előfordulhat, hogy a WordPress fejlesztésének egy bizonyos pontján személyre szabott hírcsatornát kell megadnia. Ez függetlenül attól, hogy valaki számára API-t biztosít, vagy csak jobb felhasználói élményt nyújt egy bizonyos felhasználói csoport számára - egyszerűen megtehető.

Inkább új hírcsatornát hozok létre, nem pedig az alapértelmezett hírcsatornákat, mivel ezt a módszert kissé egyszerűbbnek találom

add_feed WordPress funkció

add_filter ( 'init', 'tj_init_custom_feed'); tj_init_custom_feed () {// a feed add_feed inicializálása ('custom-feed', 'tj_custom_feed'); }

Adja hozzá a fenti kódot a WordPress témájának function.php fájljába. Mivel az a legjobb, ha nem hívjuk meg közvetlenül az add_feed-et, akkor az „init” szűrőn adjuk hozzá. A funkcióhívás első paramétere szolgál a hírcsatorna URL-címének megadására. A második paramétert arra használják, hogy összekapcsolják egy függvény nevével. Tehát, amikor ezt az URL-t hívják (yourblogurl.com/custom-feed), akkor a tj_custom_feed PHP funkciót hajtja végre.

Felhívjuk figyelmét, hogy a WordPress újraírási szabályait ki kell üríteni, mielőtt az URL-t megfelelően felismernék. A szabályok ürítésének kényszerítésének egyszerű módja a WordPress Rendszergazda -> Beállítások -> Permalinks-ek elérése, majd a módosítások mentése gombra kattintás.

Az XML kimenete

Valójában semmi sem túl bonyolult az RSS / XML hírcsatorna kimenetében. Először a tartalomtípust a php fejléc funkción keresztül állítják be, így azt megfelelő módon lehet megjeleníteni. Ezután beolvasunk néhány adatot a get_posts-ből, áthúzzuk rajta, és visszhangosítjuk a képernyőre.

tj_custom_feed () {fejléc ("Tartalomtípus: szöveg / xml") függvény; echo "\ n"; visszhang " \ n "; $ hozzászólások = get_posts (); foreach ($ hozzászólások $ postként) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'full') ; visszhang ” „ echo " ". $ post-> ID." \ n "; visszhang" ". $ post-> post_date." \ n "; visszhang" ". $ post_link." \ n "; visszhang" ". esc_html ($ post-> post_title)." \ n "; visszhang" ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; visszhang" ". $ image." "; echo" „ } visszhang " "; kilépés;}

Saját WordPress rss / xml hírcsatorna létrehozása