wordpress rest api

WordPress geliştiricileri,  modern web’ in son gereksinimlerinden REST API’ ye kayıtsız kalmadılar ve WordPress REST API eklentisini yayınladılar. Bu eklenti tüm wordpress içeriğinizi json formatında sunmanıza ayrıyetten, authentication yaparsanız da, içeriğinizi yönetmenize imkan sağlıyor.

Bilgilendirme : Angular ile tam kullanım örneği hazırlandı. https://github.com/ozdemirr/ngWpRest adresinden koda erişebilir http://ozdemirr.github.io/ngWpRest/#/ adresinden de çalışır halini inceleyebilirsiniz.

WordPress REST API NE İÇİN Kullanılabilir ?

WordPress REST API’ yi kurmayı ve kullanmayı göreceğiz. Fakat bunu hangi işler için kullanabiliriz?

Rest api sayesinde, wordpress artık sizin için bir içerik deposu haline geliyor. Eskiden içeriğinizi sadece wordpress yüklemiş olduğunuz sitenizde kullanabilirdiniz (DB bağlantısı üzerinden erişip kullanmayı saymıyorum) Fakat artık wordpress siteniz bir içerik deposu. Örneğin tek bir wordpress sitenizden içeriklerinizi farklı kategorilerde girin, ve diğer sitelerinizde, ilgili kategori üzerinden çekin. Örnekler arttırılabilir. Yada sizin projenize özgü bambaşka bir kullanım olabilir.

WordPress REST API Kurulumu;

Yapmanız gereken çok basit. https://wordpress.org/plugins/rest-api/ adresindeki eklentiyi, isterseniz indirip, ftp üzerinden atıp kurun, istersenizde Eklentiler sayfanızdan aratıp kurun.

Kurulumu yaptıktan sonra test etmek için siteAdresiniz.com/wp-json/ adresini tarayıcıda açmanız yeterli.

AngularTr’ nin kini görmek için http://angulartr.com/wp-json

WordPress REST API Kullanımı;

http://v2.wp-api.org/reference/ adresinde de görebileceğiniz gibi, tüm içeriğimizi api üzerinden çekebiliyoruz.

http://angulartr.com/wp-json/wp/v2/ adresi sabit kalıp, çekeceğiniz içeriğin tipine göre linkin devamı şekilleniyor.

Örneğin post lar için http://angulartr.com/wp-json/wp/v2/posts

sayfalar http://angulartr.com/wp-json/wp/v2/pages

gibi.

İçerikleri çekmeyi başlıklar halinde inceleyelim ve test edelim 🙂

Testlerimi yaparken, örnek ekranlar göreceksiniz. Javascript vasıtası ile XHR Request ler gönderip, data yı elde edeceğim ve size sunacağım. Bu işlemleri yaparken, Angular yerine jquery kullanıyorum. Niye Angular değil derseniz, yakında Angular ile WordPress REST API’ yi beraber kullanıp Single Page Application blog projemide sunacağım sizlere 🙂

Postları Çekmek;

JS Bin on jsbin.com

getposts methodum tetiklenince http://angulartr.com/wp-json/wp/v2/posts adresine istek gönderiyor. Ardından gelen datayı for ile loop a sokup, her bir post’ un başlığını posts içinde listeliyorum. Postları Getir butonuna basıp deneyebilirsiniz.

Herhangi bir postu çekmek;

Sadece herhangi bir postun içeriğini çekmek için, o postun id sini bilmemiz gerekiyor. Bu id’ yi yukarıdaki örnekte gibi, önce tüm postları çekip te elde edebilirsiniz, yada ileride göreceğimiz gibi tag leri çekip oradan da elde edebilirsiniz.

Ben yukarıdaki örneği tekrarlayıp, yeni bir örnek oluşturuyorum.

JS Bin on jsbin.com

li elementine eklediğim onclick=’getPostData(” +data[i].id +”); ile, listelenen her başlığa tıklandığında, getPostData metoduna, o içeriğin id’ sini gönderiyorum ve o id http://angulartr.com/wp-json/wp/v2/posts/ linkine eklenip, istek yapılıyor, dönen data’ nın da content.rendered değerini, posts divinin içine basıyorum. Listelenen her başlığın üzerine tıklayarak, içeriğinin altta görüntülendiğini test edebilirsiniz.

 

Bu şekilde devam ederek, tüm api’ yi kullanabilirsiniz. Mantık hep aynı. Fakat bu işi Jquery ile yapmak iğne ile kuyu kazmak gibi. O yüzden, Angular ile yapacağım tam örneği bekleyin 🙂

 

 

4 Comments WordPress REST API Kullanımı

Leave A Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir