Anonim

WordPress geliştirmenizin bir noktasında size özel bir özet akışı sağlamanız gerekebilir. Bunun bir kişiye API sağlaması veya sadece belirli bir kullanıcı grubu için daha iyi bir deneyim sağlaması olsun, kolayca yapılabilir.

Bu yöntemi biraz daha basit bulurken varsayılan yayınları genişletmek yerine yeni bir yayın oluşturmayı tercih ederim

add_feed WordPress işlevi

add_filter (init ', 'tj_init_custom_feed'); function tj_init_custom_feed () {// feed'i başlat add_feed ('custom-feed', 'tj_custom_feed'); }

WordPress temanızdaki functions.php dosyanızda yukarıdaki kodu ekleyin. Doğrudan add_feed'i çağırmamak en iyisi olarak 'init' üzerindeki bir filtreyi ekleriz. İşlev çağrısındaki ilk parametre, yayın için URL sülük sağlamak için kullanılır. İkinci parametre onu bir fonksiyon adına bağlamak için kullanılır. Bu nedenle, bu URL çağrıldığında (yourblogurl.com/custom-feed), tj_custom_feed PHP işlevini çalıştırır.

Lütfen, URL'nin doğru bir şekilde tanınmasından önce WordPress için yeniden yazma kurallarının kaldırılması gerektiğini unutmayın. Kuralları yıkılmaya zorlamanın basit ve basit bir yolu WordPress Admin -> Settings -> Permalinks'e gidip değişiklikleri kaydet düğmesine tıklamaktır.

XML çıktısı

RSS / XML besleme kodunun çıktısı konusunda gerçekten çok karmaşık bir şey yok. İlk olarak, içerik tipi php başlık fonksiyonu ile ayarlanır, böylece uygun şekilde işlenebilir. Daha sonra, get_posts'tan bazı veriler alıyoruz, onu geçiyoruz ve ekrana yansıtıyoruz.

tj_custom_feed () {header ("Content-type: text / xml") işlevi; yankı "\ n"; Eko " \ n "; $ posts = get_posts (); foreach ($ post olarak $ $) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'tam') ; Eko ' '; yankı "\ t ". $ post-> Kimlik." \ 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 ". $ image." "; Eko ' '; } Eko " "; çıkış; }

Özel wordpress rss / xml feed'i oluşturma