R ile WordPress Postları Listelemek

R‘ın hayatımda çok ayrı bir yeri var. Bir programlama dili olmasının ötesinde, sudoku gibi günün stresinden uzaklaşmak istediğimde vakit geçirmek için de değerlendirebileceğim şahane bir seçenek olma özelliğine de sahip. Tez yoğunluğu ve başlangıç aşamasındaki uzun vadeli kişisel projelerim nedeniyle bir süre daha planladığım yoğunlukta ve kapsamda içerik üretemeyeceğim gibi görünüyor. Elbette bu siteyi kendi haline bırakacağım anlamına gelmiyor. Öncelikle çok uzun süre hayatımda önemli bir yer tutan wordpress’ten ghost’a doğru bir geçiş sürecim olacak. Nedenine, nasılına ayrıca değineceğim elbette. Bu yazıda, bu geçiş sürecinde işimi oldukça kolaylaştıran bir R paketi olan RWordPress kullanımına değineceğim. Paket ile ilgili detaylar ise planlanan bir başka yazının konusu.

WordPress Postlarını Listelemek

Trello, Asana, Google Keep, not defteri, kağıt parçaları derken her yerde değerlendirilmeyi, anlatılmayı, üzerine düşünmeyi gerektiren anekdotlar karşıma çıkıyor. Ancak, sıklıkla kullandığım not saklama alanım yıllardır wordpress draft alanı olmaya devam ediyor. Bunun nedeni, bir anlık boş vakit içerisinde en azından görece çok araştırma gerektirmeyen konuları hızlıca yayınlayabilme imkanı elbette. Ancak, zamanla artan konu başlıklarıyla birlikte bu durum da işin içinden çıkılmaz hale gelebiliyor. Örneğin, bu sitede yayınlanmayı bekleyen bugün itibariyle 191 yazı olduğunu söyleyebilirim. Bu sayının 3 katı kadar da yoldanciktim.com‘da başlık mevcut. Hal böyle olunca ve konu başlıklarını takip edemeyince önceliklendirme yapmak da oldukça büyük bir mesele haline geliyor. İşte, tam bu noktada pratik bir şekilde başlıkları listeleme ihtiyacı içerisine girip RWordPress‘in özelliklerinden faydalanıyorum.

Yukarıdaki işlemi özetlemek gerekirse;

Öncelikle RWordPress paketini aktifleştiriyoruz. tidyverse ve stringr paketleri de vazgeçilmezlerimden. xmlrpc portokolü üzerinden, websitemize girişte kullandığımız kullanıcı adı ve şifremizle getPosts ile yetkimiz dahilinde tüm postları çekiyoruz.

RPC Nedir?

Remote Procedure Call (Uzaktan Yordam Çağırma) arayüzü ile bir makineden diğer bir makindeki program parçasına ait bir prosedür çağırılabilir. xmlrpc ile bu çağırma/konuşma işlemi XML’le belirlenmiş bir protokol sayesinde gerçekleştirilir. İşte biz de bu protokol sayesinde websitemize bağlanıp listeleme işlemi yapabileceğiz. RWordPress sayesinde ek bir çok işlem de gerçekleştirmek mümkün. Diğer yandan, xmlrpc protokolünün WordPress 3.5 itibariyle standart olarak aktif olması nedeniyle ekstra herhangi bir ayar yapmamıza da gerek yok.

Yukarıdaki işleme geri dönecek olursak, en son postları getPosts’a aktarmıştım. Bu aşamada, ihtiyacım olan tüm postlar olmadığı için filtreleme yapıyorum. Draft yazıları alıp id’ye göre sıralıyor ve sadece başlıkları görüntülüyorum. Evet, hepsi bu kadar. Sonuç olarak View ile sonuca ulaşıyorum. Yukarıdaki işlem default olarak 100 adet post görüntülemenizi sağlayacaktır.

Paketlerin detayları ve fonksiyonlarla ilgili ek yazılar için facebook ve twitter üzerinden beni takip edebilirsiniz.

Leave a Reply