Nasıl Yapılır

WordPress REST API Nedir ? Nasıl Kullanılır?

WordPress REST API, WP Query, gönderi API'si, gönderi meta API'si, kullanıcı API'si, revizyon API'si ve daha birçok şeye basit ama kolay bir arayüz sunar.

WordPress REST API Nasıl Kullanılır sorusunun cevabını bu kapsamlı rehberde bulacaksınız. Adım adım anlatım, örneklerle uygulama ve sıkça sorulan sorularla eksiksiz bilgi burada!


WordPress REST API Nedir?

REST Kavramı Nedir?

REST (Representational State Transfer), web servislerinin birbiriyle iletişim kurmasını sağlayan mimari bir yapıdır. Temel amacı; veri transferini, HTTP protokolleri üzerinden sade, hızlı ve uyumlu şekilde yapmaktır.

API Nedir ve Neden Önemlidir?

API (Application Programming Interface – Uygulama Programlama Arayüzü), yazılımların birbirleriyle konuşmasını sağlar. Bir restoranın menüsü gibi düşünebilirsiniz; hangi veri veya işlemlere ulaşabileceğinizi gösterir.

WordPress’te REST API’nin Yeri

WordPress, 4.7 sürümünden itibaren REST API’yi çekirdek sistemine entegre etti. Bu sayede WordPress verilerine dışarıdan erişmek, yönetmek ve kullanmak mümkün hale geldi. Artık WordPress sadece bir içerik yönetim sistemi değil, aynı zamanda güçlü bir veri servis sağlayıcısıdır.


WordPress REST API’nin Temel Bileşenleri

Endpoint Nedir?

Endpoint, API’nin erişilebilen URL’leridir. Örneğin:

https://example.com/wp-json/wp/v2/posts

Bu, “posts” yani yazılar endpoint’idir ve tüm yazıları JSON formatında döner.

Route, Request ve Response Kavramları

  • Route (Yol): API’nin izlediği yol.
  • Request (İstek): Kullanıcının yaptığı çağrı (GET, POST, PUT, DELETE).
  • Response (Yanıt): API’nin döndürdüğü veri (genellikle JSON formatında).

REST API ile Yapılabilecekler

  • Veri Çekme: Yazılar, sayfalar, kullanıcılar ve özel alanlar.
  • Veri Gönderme: Yeni içerik oluşturma veya mevcut içeriği güncelleme.
  • Veri Silme: İstenilen içeriği API üzerinden silme.
  • Uygulama Entegrasyonu: Mobil, masaüstü veya farklı sistemlerle WordPress entegrasyonu.

WordPress REST API Nasıl Etkinleştirilir?

API Varsayılan Olarak Aktif mi?

Evet! WordPress 4.7 ve üzeri sürümlerde REST API varsayılan olarak aktif gelir. /wp-json/ yoluna giderek aktif olup olmadığını kontrol edebilirsiniz.

Güvenlik İzinleri ve Kullanıcı Rolleri

Yalnızca yetkili kullanıcılar (örneğin admin) bazı endpoint’lere erişebilir. GET istekleri genellikle herkese açıkken, POST/PUT/DELETE işlemleri için kimlik doğrulama gereklidir.


İlk API Çağrınızı Yapmak

GET İstekleri ile Veri Çekme Örneği

curl https://example.com/wp-json/wp/v2/posts

Bu istek, tüm yayınlanmış yazıları döner.

cURL, Postman ve Tarayıcı Kullanımı

  • Tarayıcı: GET isteklerini doğrudan görebilirsiniz.
  • cURL: Terminal üzerinden çağrı yapabilirsiniz.
  • Postman: Her tür HTTP isteğini kolayca test edebilirsiniz.

WordPress REST API Endpoint Yapısı

Varsayılan Endpoint Örnekleri

  • Yazılar: /wp-json/wp/v2/posts
  • Sayfalar: /wp-json/wp/v2/pages
  • Kullanıcılar: /wp-json/wp/v2/users

Özel Endpoint Nasıl Tanımlanır?

Aşağıdaki gibi bir yapı ile özel endpoint oluşturabilirsiniz:

register_rest_route('myplugin/v1', '/products/', [
    'methods' => 'GET',
    'callback' => 'my_custom_function',
]);

 Kimlik Doğrulama Yöntemleri

  • Cookie Authentication: WordPress’in oturum çerezi ile çalışır.
  • Application Passwords: Basit uygulamalar için güvenli yöntem.
  • JWT veya OAuth: Daha gelişmiş doğrulama sistemleri sunar.

JSON Formatı ile Veri İşleme

WordPress REST API, tüm yanıtları JSON olarak gönderir. JSON (JavaScript Object Notation), kolay okunabilir, hafif bir veri değişim formatıdır.

Örnek:

{
  "id": 101,
  "title": { "rendered": "Merhaba Dünya" },
  "content": { "rendered": "Bu bir örnek yazıdır." }
}

REST API ile WordPress Dışında Kullanım

  • Mobil Uygulama Entegrasyonu: WordPress verileriyle mobil uygulamalar beslenebilir.
  • JavaScript Tabanlı SPA’ler: React, Vue gibi modern frontend teknolojileri ile tam uyumlu.

Özel Endpoint Oluşturma

register_rest_route() Fonksiyonu Kullanımı

add_action('rest_api_init', function () {
    register_rest_route('ornekapi/v1', '/mesaj/', array(
        'methods' => 'GET',
        'callback' => 'mesaj_gonder',
    ));
});

function mesaj_gonder() {
    return ['mesaj' => 'Merhaba API!'];
}

Callback Fonksiyonları ve İzinler

'permission_callback' => '__return_true' // Herkese açık

Custom Post Type ve Meta Alanlarla Çalışma

CPT Verilerinin REST API ile Çekilmesi

'public' => true,
'show_in_rest' => true,

Meta Alanların API’ye Dahil Edilmesi

register_meta('post', 'urun_fiyat', [
    'show_in_rest' => true,
    'type' => 'string',
    'single' => true
]);

Güvenlik Önlemleri ve En İyi Uygulamalar

  • Erişim Kontrolü: permission_callback fonksiyonu ile sağlanır.
  • Gizli Veriler: Meta alanlar hassas veri içermemelidir.
  • Rate Limiting: Sunucu yükünü önlemek için sınırlama uygulanmalıdır.

REST API Performans Optimizasyonu

  • Cache Kullanımı: Transients API veya harici cache sistemleriyle.
  • Veri Sınırlama: ?_fields=title,slug, per_page, page gibi parametrelerle.

REST API ile Headless CMS Kullanımı

  • Headless Mimari: Sadece veri sağlayıcı olan WordPress.
  • Frontend: React, Vue, Angular gibi kütüphaneler ile modern arayüz.

Alternatif: GraphQL vs REST API

ÖzellikREST APIGraphQL
Veri AlımıEndpoint bazlıTek endpoint, özel sorgular
Fazla VeriDönerİstenilen veri alınır
YapılandırmaBasitDaha karmaşık ama esnek
HızGenellikle daha hızlıKarmaşık verilerde avantajlı

WordPress REST API ile Gerçek Hayattan Örnek Proje

  1. CPT oluşturun (todo)
  2. Meta alanlar ekleyin (durum, tarih)
  3. Özel endpoint yazın
  4. Frontend ile bağlayın (React, Vue)

Sıkça Sorulan Sorular (SSS)

WordPress REST API ile ne yapılabilir?

Yazı, sayfa, kullanıcı, özel alan ve medya gibi verilere erişebilir, düzenleyebilir ve harici uygulamalarla entegre edebilirsiniz.

WordPress REST API güvenli midir?

Evet, ama erişim izinleri doğru yapılandırılmalıdır.

Özel post türleri API ile nasıl çekilir?

show_in_rest aktif olmalı. /wp-json/wp/v2/{post_type} üzerinden çekilebilir.

WordPress API ile kullanıcı verisi alınabilir mi?

Sınırlı olarak evet. E-posta, parola gibi bilgiler gösterilmez.

API istekleri nasıl sınırlandırılır?

Eklentiler veya proxy tabanlı önlemlerle.

WordPress dışı sistemlere veri gönderilebilir mi?

Evet. Mobil uygulamalar ve diğer sistemlerle entegre edilebilir.


Sonuç: WordPress REST API ile Sonsuz Olasılıkların Kapısı Açılıyor

WordPress REST API, WordPress’i sıradan bir CMS olmaktan çıkarıp, modern web projelerinin merkezine yerleştiriyor. Kendi uygulamanızı geliştirmek, özel entegrasyonlar kurmak ya da Headless CMS altyapısı oluşturmak için REST API ideal bir çözümdür.


📌 Daha fazla bilgi için:
🔗 WordPress REST API Resmi Belgeler

Benzer Yazılar

1 / 9