WordPress’te RSS beslemelerini özelleştirmek

WordPress kullanan bir sayfanın rss beslemelerine http://site.com/feed/ adresinden kolayca erişebilmek söz konusu. (Kalıcı bağlantı ayarlarınıza göre adres farklı şekillerde olabilir.) Belirli bir kategoriye ait yazıları da aynı şekilde http://site.com/category/feed/ adresinden görebilmek söz konusu. Peki bunu biraz daha özelleştirmek istersek?

Şöyle bir durumla karşılaştım:

WordPress altyapısını kullanan bir sitede birden fazla kullanıcı yazarlık yapıyor ve her bir kullanıcı farklı farklı kategorilerde yazıyorlar. Örneğin kullanıcı adı ali olan kullanıcının gezegen kategorisinde yazdığı tüm yazıların barındığı bir RSS beslemesini alıp linux gezegenine koymak istiyoruz. WordPress her konuda olduğu gibi bu konuda da gayet esnek çözümler sunmakta.

Bahsi geçen beslemeyi almak için gereken url: http://site.com/category/gezegen/feed/?author_name=ali

WordPress beslemeleri ile ilgili daha fazla bilgi için [1] adresine bakılabilir.

Peki teoride mükemmel olan WordPress’in pratikte kötü yanları yok mu? Tabii ki var :)

RSS beslemesini özelleştirirken vermemiz gereken author_name parametresinin değerinin kullanıcının nice_name değeri olması gerekiyor. Eğer ki kullanıcı adımız (user_login ) recep.kirmizi gibi bir değer ise bu kullanıcıya ait nice_name değerinin (recep_kirmizi) olması gerekiyor, ve bu doğrultuda author_name=recep_kirmizi şeklinde bir url gireceğimizi biliyor olmamız gerekiyor.

Tabii WordPress’in kullanıcı yönetimi arayüzünde kullanıcıya ait nice_name değerini göremiyoruz. Dolayısıyla bu bilgiden yoksun bir halde isek farklı farklı şeyler deneyip kendimizi kısır bir döngü içinde bulabilmemiz söz konusu.

Bu noktada resmin tamamına bakmak gerekiyor. Beni bu durumdan kurtaran şey phpmyadmin arayüzünde wp_users tablosuna bir göz atmam oldu. oradaki nice_name değerini gördüğümde konu benim için kapanmıştı :)

[1] http://codex.wordpress.org/WordPress_Feeds