Anonim

ในบางจุดของการพัฒนา WordPress ของคุณอาจต้องให้ฟีดที่กำหนดเองกับใครบางคน ไม่ว่าจะเป็นการมอบ API ให้ใครบางคนหรือเพียงแค่มอบประสบการณ์ที่ดีขึ้นสำหรับผู้ใช้บางกลุ่มก็สามารถทำได้อย่างง่ายดาย

ฉันต้องการสร้างฟีดใหม่แทนที่จะขยายฟีดเริ่มต้นเนื่องจากฉันพบว่าวิธีนี้ง่ายกว่าเล็กน้อย

ฟังก์ชั่น add_feed WordPress

add_filter ( 'init', 'tj_init_custom_feed'); ฟังก์ชัน tj_init_custom_feed () {// เริ่มต้นฟีด add_feed ('กำหนดเองฟีด', 'tj_custom_feed'); }

ในไฟล์ functions.php ของคุณในธีม WordPress ให้เพิ่มโค้ดด้านบน สิ่งที่ดีที่สุดคืออย่าเรียกใช้ add_feed โดยตรงเราเพิ่มผ่านตัวกรองใน 'init' พารามิเตอร์แรกในการเรียกใช้ฟังก์ชั่นจะใช้เพื่อให้กระสุนกระสุนสำหรับฟีด พารามิเตอร์ที่สองใช้เพื่อผูกกับชื่อฟังก์ชั่น ดังนั้นเมื่อ url นั้นถูกเรียก (yourblogurl.com/custom-feed) มันจะเรียกใช้งานฟังก์ชั่น PHP tj_custom_feed

โปรดทราบว่ากฎการเขียนซ้ำสำหรับ WordPress จะต้องถูกล้างออกก่อนที่ URL นั้นจะได้รับการจดจำอย่างถูกต้อง วิธีง่ายๆในการบังคับให้ล้างกฎคือไปที่ WordPress Admin -> การตั้งค่า -> Permalinks แล้วคลิกปุ่มบันทึกการเปลี่ยนแปลง

การส่งออก XML

ไม่มีอะไรซับซ้อนเกินไปเกี่ยวกับการแสดงผลฟีดโค้ด RSS / XML ขั้นแรกให้ตั้งประเภทเนื้อหาผ่านฟังก์ชั่นส่วนหัวของ php เพื่อให้สามารถแสดงผลได้อย่างเหมาะสม ต่อไปเราจะดึงข้อมูลบางส่วนจาก get_posts วนซ้ำและสะท้อนออกมาที่หน้าจอ

ฟังก์ชัน tj_custom_feed () {header ("ประเภทเนื้อหา: ข้อความ / xml"); echo "\ n"; สะท้อน " \ n "; $ posts = get_posts (); foreach ($ โพสต์เป็น $ โพสต์) {$ post_link = get_permalink ($ โพสต์ -> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ โพสต์ -> ID), 'เต็ม' ; 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 " "; exit;}

การสร้างฟีด wordpress rss / xml แบบกำหนดเอง