Modern web geliştirme süreçlerinde, farklı platformların birbirleriyle veri paylaşmasını sağlayan sistemler büyük önem taşır. WordPress de REST API sayesinde diğer uygulamalarla iletişim kurabilir.
Peki, WordPress REST API nedir? Nasıl çalışır? Ve en önemlisi, nasıl kullanılır? Tüm detaylar bu rehberde!
WordPress REST API Nedir?
WordPress, dinamik bir içerik yönetim sistemi olarak uzun yıllardır kullanılıyor. Ancak, modern uygulamalarla entegrasyon sağlamak için yalnızca PHP ile çalışmak yeterli olmayabilir. İşte burada REST API (Representational State Transfer Application Programming Interface) devreye girer.
Kısaca, WordPress REST API, WordPress’teki verileri harici sistemlere açarak JSON formatında veri alışverişi yapılmasını sağlar. Bu sayede WordPress ile mobil uygulamalar, başka siteler veya özel sistemler arasında veri transferi mümkün hale gelir.
WordPress REST API Nasıl Çalışır?
WordPress REST API, istemci tarafından yapılan HTTP isteklerine yanıt verir. Tarayıcıdan ya da bir uygulamadan yapılan GET, POST, PUT, DELETE gibi istekler, WordPress veri tabanından gelen JSON formatındaki verilerle yanıtlanır.
Örneğin, WordPress sitenizdeki tüm yazıları almak için şu URL’ye bir GET isteği yapılır:
https://siteadresiniz.com/wp-json/wp/v2/posts
Bu istek, sitenizdeki tüm yazıları JSON formatında döndürecektir.
WordPress REST API için Ortamınızı Nasıl Kurarsınız?
REST API’yi kullanmadan önce ortamın hazır hale getirilmesi gerekir. Bunun için şu adımlar takip edilir:
WordPress’in Güncel Olması: REST API, WordPress 4.7 ve sonrası sürümlerde yerleşik olarak gelir.
Permalink Ayarlarının Yapılandırılması: Kalıcı bağlantıların düzgün çalışması için “Post name” seçeneğinin aktif olduğundan emin olunmalıdır.
Kimlik Doğrulama Seçeneklerinin Belirlenmesi: Özel işlemler yapılacaksa kimlik doğrulama yöntemlerinden biri seçilmelidir (Basic Auth, OAuth veya JWT Authentication gibi).
Postman Gibi API Araçlarının Kullanılması: API istekleri test etmek için Postman veya cURL gibi araçlar kullanılabilir.
WordPress REST API Nasıl Kullanılır?
REST API ile WordPress içeriğini almak, oluşturmak ve güncellemek mümkündür. Aşağıda en yaygın kullanılan işlemler ele alınmıştır.
1. GET İstekleriyle Veri Alma
Mevcut verileri almak için GET isteği kullanılır. Örneğin, tüm yazıları almak için şu URL’ye istek yapılır:
GET https://siteadresiniz.com/wp-json/wp/v2/posts
Bu istek sonucunda WordPress’teki tüm yazılar JSON formatında döndürülür.
Belirli bir yazıyı çekmek için post ID kullanılabilir:
GET https://siteadresiniz.com/wp-json/wp/v2/posts/123
Bu istek, ID’si 123 olan yazıyı döndürecektir.
2. POST İstekleriyle İçerik Oluşturma
Yeni bir içerik eklemek için POST isteği kullanılır. Ancak, bu işlem kimlik doğrulama gerektirir. Bir yazı eklemek için örnek bir istek şu şekilde olabilir:
POST https://siteadresiniz.com/wp-json/wp/v2/posts
Headers: {
"Authorization": "Bearer <JWT_TOKEN>",
"Content-Type": "application/json"
}
Body: {
"title": "Yeni Yazı",
"content": "Bu bir REST API yazısıdır.",
"status": "publish"
}
3. İçeriğin Güncellenmesi ve Silinmesi
Bir içeriği güncellemek için PUT isteği kullanılır:
PUT https://siteadresiniz.com/wp-json/wp/v2/posts/123
Body: {
"title": "Güncellenmiş Başlık"
}
İçeriği silmek için DELETE isteği yapılır:
DELETE https://siteadresiniz.com/wp-json/wp/v2/posts/123
4. Özel Uç Noktalarla Çalışma
Varsayılan uç noktalara ek olarak, özel API uç noktaları oluşturmak mümkündür. Bunun için functions.php
dosyasına şu kod eklenebilir:
function custom_api_route() {
register_rest_route('custom/v1', '/message/', array(
'methods' => 'GET',
'callback' => 'custom_message_function'
));
}
add_action('rest_api_init', 'custom_api_route');
function custom_message_function() {
return rest_ensure_response(array('message' => 'Merhaba Dünya!'));
}
Bu kod, https://siteadresiniz.com/wp-json/custom/v1/message adresine yapılan GET isteğinde “Merhaba Dünya!” mesajını döndürür.
5. Kimlik Doğrulamayı Seçme
Kimlik doğrulama için birkaç farklı yöntem bulunur:
Basic Authentication (Geliştirme amaçlı)
OAuth 1.0a (Güvenli bir yöntem)
JWT (JSON Web Token) Authentication (Önerilen yöntem)
Özellikle güvenlik gerektiren işlemler için JWT Authentication kullanılması önerilir.
WordPress REST API Örnekleri
Mobil uygulamalar için WordPress içeriğini çekmek
Özel paneller oluşturmak
Başka web sitelerine veri sağlamak
WordPress REST API’yi Kullanmanın Faydaları Nelerdir?
Esneklik sağlar: WordPress içeriği başka platformlarla entegre edilebilir.
Hızlı veri alışverişi sunar: JSON formatı sayesinde hafif ve hızlıdır.
Mobil uyumludur: Mobil uygulamalar ile doğrudan bağlantı kurulabilir.