07 Kasım 2008

WordPress Beslemelerini Düzenliyoruz

WordPress Yorum Ekle

WordPress, RSS okuyucunuz için çeşitli besleme yöntemleri sunuyor. Bazı durumda RSS takipçileriniz sitenizden sadece belli kategorilerdeki yazıları görmek isteyebilir. Neyse ki WordPress çok esnek, bu nedenle WP'nin dosyalarına dokunmadan bu işlemi kolaylıkla yapabiliriz. Nasıl mı?
Olayı daha iyi anlayabilmeniz için biraz temel bilgi verelim.
WordPress dört farklı formatta besleme sunuyor bize, bunlar; RDF, RSS 0.92, RSS 2.0 ve ATOM 1.0 (WP 2.* dan itibaren) standartları. Standart olarak yazılar, yorumlar ve arşiv -örneğin kategori, etiket- içerisindeki bütün içerik için beslemeler oluşturulur. Daha iyi anlaşılması için birkaç örnek:
Normal besleme (kalıcı bağlantı pasif) RDF için: http://siteadi.com/?feed=rdf
Normal besleme (kalıcı bağlantı pasif) RSS için: http://siteadi.com/?feed=rss
Normal besleme (kalıcı bağlantı pasif) RSS2 için: http://siteadi.com/?feed=rss2
Normal besleme (kalıcı bağlantı pasif) Atom: http://siteadi.com/?feed=atom
Normal besleme (kalıcı bağlantı pasif) RSS 2 için etiket formatı: http://siteadi.com/?feed=rss2&tag=etiketadi
Normal besleme (kalıcı bağlantı aktif) RDF için: http://siteadi.com/feed/rdf
Normal besleme (kalıcı bağlantı aktif) RSS için: http://siteadi.com/feed/rss
Normal besleme (kalıcı bağlantı aktif) RSS2 için: http://siteadi.com/feed
Normal besleme (kalıcı bağlantı aktif) Atom için: http://siteadi.com/feed/atom
Normal besleme (kalıcı bağlantı aktif)RSS 2 için etiket formatı: http://siteadi.com/tag/example/feed/

Şimdi kategoriler için besleme oluşturabiliriz, tabi ki bazı kategorileri de çıkartabiliriz. Bütün örnekler RSS2 şekli için hazırlandı, ancak diğerleri için de kolaylıkla uyarlanabilir.
Kategori ID'si 23 olan kategorinin beslemesi: http://siteadi.com/feed?cat=23
Kategori ID'leri 12, 13, 23 olan kategorilerin beslemesi: http://siteadi.com/feed?cat=12&cat=13&cat=33
Kategori ID'si 23 olan kategori haricindekilerin beslemesi: http://siteadi.com/feed?cat=-23
Kategori ID'leri 12, 13, 23 olan kategorilerin haricindekilerin beslemesi: http://example.de/feed?cat=-12&cat=-13&cat=-33
Özellikle ikinci örnek farklı kategorileri nasıl kolayca karıştırabileceğimizi çok güzel bir şekilde gösteriyor. Eğer ziyaretçilerinize önerebileceğiniz farklı kategoriler varsa bu işinize yarayacaktır.

İşi daha da kolaylaştıralım

Yukarıdaki örnekler oldukça kolay fakat bu iş için kendi fonksiyonumuzu da kullanabiliriz. Kendinize özel bir besleme yaratmak için temanızın functions.php dosyasına aşağıdaki gibi bir kod ekleyebilirsiniz:

  1. function fb_cat_exclude($query) {
  2.     if ($query->is_feed) {
  3.         $query->set('cat','-12,-13,-33');
  4.     }
  5.     return $query;
  6. }
  7.  
  8. add_filter('pre_get_posts','fb_cat_exclude');

Bu örnek kategori ID'leri 12, 13 ve 33 olan kategorilerin dışındaki yazılarınız için besleme oluşturuyor. 'pre_get_posts' kancası, yazılar gösterilmek istendiğinde çağırılır, bu kancanın yardımıyla query değişkenini fonksiyonumuza aktardık ve is_feed() ile de yazıları isteyenin besleme programı olduğunu anladık ve query nesnesi içerisindeki 'cat' değişkeninin değerini değiştirdik (buradaki yöntem çok güzel, farklı yerlerde de kullanılabilir).
Bu yöntemle besleme okuyucularına istediğiniz içeriği vermiş olursunuz. Sitenizin farklı yerlerinde farklı besleme bağlantıları vererek, ziyaretçileriniz için esneklik sunmuş olursunuz. Haydi kolay olsun. Son olarak eğer WordPress kategorisindeki yazılarıma ulaşmak istiyorsanız, aşağıdaki bağlantıyı kullanabilirsiniz.
http://www.yakupgovler.com/?feed=rss2&cat=15

Kaynak: wpengineer.com


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=486.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.


“WordPress Beslemelerini Düzenliyoruz” yazısı için 1 Yorum

Bu yazıya yapılan yorumları dilerseniz, ( RSS 2.0 ) beslemesini kullanarak takibe alabilirsiniz.

  1. baris dedi ki:

    Hocam merhaba, bu beslemeler için sadece yazıdan bir iki cümle göstermek mümkün olsa gerek veya beslemelerde yazıyı değilde yazının linkini nasıl gösterebiliriz... yani kişi beslemeden yeni yazıları görsün lakin devamını okumak için siteye bakması gereksin.. Örnek olarak göstermek gerekirse; http://www.milliyet.com.tr/D/rss/rss/Rss_1.xml?ver=94 ne kadar güzel tam istediğim gibi.. Bir fikriniz varmı acaba bu konuda çok aradım lakin türkçe bir kaynak bulmadım.