WordPress REST API özel uç noktaları, geliştiricilerin bir WordPress sitesinden harici uygulamalara, mobil uygulamalara veya frontend çatılara belirli verileri sunmasını sağlar. Varsayılan olarak WordPress REST API; yazılar, sayfalar ve yorumlar gibi standart yazı tiplerine erişim sağlar. Ancak karmaşık web uygulamaları genellikle eklenti bilgileri, özel kullanıcı metadverileri veya varsayılan uç noktalarla doğrudan eşleşmeyen hesaplanmış değerler gibi benzersiz veri yapıları gerektirir. Bu uç noktaları oluşturmak, geliştiricilerin özel iş mantıkları için tam olarak gerektiği gibi davranan son derece özelleştirilmiş entegrasyonlar oluşturmasına olanak tanır.
Özel uç noktaların arkasındaki işlev nedir?
WordPress Geliştirici El Kitabı’na göre, özel REST API uç noktaları rest_api_init üzerinde register_rest_route fonksiyonu kullanılarak kaydedilir. Bu fonksiyon, tüm özel iletişimler için temel oluşturur. Bu aksiyona kanca attığınızda (hook), desteklemeyi amaçladığınız HTTP yöntemleri için ad alanını (namespace), rota yolunu ve argümanları tanımlarsınız. Bu yapıyı anlamak, bir WordPress arka ucu ile bir headless ön uç veya üçüncü taraf bir servis arasında köprü kurmaya çalışan herkes için gereklidir. Bu özel kayıt süreci olmadan API, özel yolunuzu tanımayacak ve verilere erişme girişimleri 404 hatası döndürecektir.

Ad alanını ve rotayı nasıl tanımlarsınız?
Her özel uç nokta, mevcut çekirdek uç noktalarla veya diğer eklentilerle çakışmaları önlemek için benzersiz bir ad alanı gerektirir. Yaygın bir kalıp, eklenti veya proje adınızla ilgili bir önek ve ardından sürüm numarasını kullanmaktır. Örneğin, ‘my-plugin/v1’ API’niz için net bir yapı sağlar. Ad alanı oluşturulduktan sonra, site URL’nize eklenen belirli yol olan rotayı tanımlarsınız. URL yapınızı erkenden planlayarak, proje büyüdükçe API’nizin okunabilir ve sürdürülebilir kalmasını sağlarsınız.
Hangi HTTP yöntemlerini desteklemelisiniz?
REST API standart HTTP fiilleri üzerine kurulmuştur ve özel uç noktalarınız bu kurallara uymalıdır. GET veri almak içindir, POST yeni kaynaklar oluşturmak içindir, PUT veya PATCH mevcut bilgileri güncellemek için kullanılır ve DELETE bir kaynağı kaldırır. Bir kontrol paneli için basit bir veri çekme aracı oluşturuyorsanız, yalnızca bir GET isteğine ihtiyacınız olabilir. Ancak uygulamanız kullanıcı etkileşimi veya form gönderimleri içeriyorsa, POST istekleri için kimlik doğrulama ve doğrulama uygulamanız gerekecektir. Doğru yöntemi seçmek, RESTful tasarım ilkelerini takip etmek ve uygulamanızı API’nizle etkileşime girebilecek diğer geliştiriciler veya servisler için öngörülebilir tutmak açısından esastır.
REST API İstek Türlerinin Karşılaştırması
| Yöntem | Birincil Kullanım Durumu | Veri Gizliliği |
|---|---|---|
| GET | Site verilerini getir | Genellikle herkese açık |
| POST | Form verilerini gönder | Kimlik doğrulama gerektirir |
| PUT | Mevcut kayıtları güncelle | Kimlik doğrulama gerektirir |
Özel uç noktalarınızı nasıl güvenli hale getirebilirsiniz?
Bir API aracılığıyla veri sunarken güvenlik bir önceliktir. Bir uç noktanın sırf ön ucunuzda bağlantısı yok diye güvenli olduğunu asla varsaymayın. register_rest_route fonksiyonunuz içinde izin geri çağrıları (permission callbacks) uygulamalısınız. Bu, yalnızca yöneticiler veya oturum açmış aboneler gibi yetkili kullanıcıların verilere erişebilmesini veya bunları değiştirebilmesini sağlar. Hassas işlemler için her zaman current_user_can fonksiyonunu kullanarak kullanıcının yetkisini doğrulayın. Ek olarak, yetkisiz kod çalıştırılmasını veya veritabanı bozulmasını önlemek için POST veya PUT istekleri üzerinden gelen tüm girdi verilerini sanitize edin.

İlk uç noktanızı kaydetme adımları
- Eklentinizde veya tema functions.php dosyanızda rest_api_init aksiyonuna kanca atın.
- Özel ad alanınız ve yolunuzla register_rest_route fonksiyonunu kullanın.
- GET, POST veya diğer yöntemler için mantığı yönetmek üzere geri çağrı (callback) fonksiyonlarınızı tanımlayın.
- Her istekte güvenlik kontrollerini uygulamak için permission_callback ayarlayın.
- WP_REST_Response sınıfını kullanarak istenen verileri JSON formatında döndürün.
Alien Road REST API geliştirmesini nasıl uygular
Alien Road olarak, WordPress ile harici sistemler arasında verileri senkronize etmek için özel REST API uç noktaları kullanıyoruz. Tipik bir hesapta, bir müşteri web sitesini birincil içerik merkezi olarak tutarken potansiyel müşterileri yönetmek için özel bir CRM kullanabilir. CRM’in manuel müdahale olmadan güncellenmiş içeriği almasını sağlayan uç noktalar oluşturuyoruz. Sürecimiz; veri yapısının haritalandırılmasını, katı kimlik doğrulamanın uygulanmasını ve site performansı üzerinde hiçbir etki olmamasını sağlamak için yanıt sürelerinin test edilmesini içerir. Veri akışını merkezileştirerek, ekiplerin dijital varlıklarını daha etkili bir şekilde yönetmelerine yardımcı olurken tüm platformlarda tutarlı bir kullanıcı deneyimi sağlıyoruz.
Veri işleme için yaygın kalıplar
- Karmaşık ön uç bileşenleri için iç içe nesnelerin JSON olarak döndürülmesi.
- Tarihler veya kategoriler gibi özel URL parametrelerine göre sonuçların filtrelenmesi.
- Yüksek trafikli siteler için yanıt hızlarını iyileştirmek üzere önbellek kontrol (cache-control) başlıklarının kullanılması.
- Ön uç geliştiricilerinin entegrasyonlarda hata ayıklamasına yardımcı olmak için ayrıntılı hata mesajlarının sağlanması.
- Büyük veri kümelerinin tarayıcıyı yormamasını sağlamak için sayfalamanın (pagination) desteklenmesi.
Sıkça Sorulan Sorular
WordPress dışı siteler için özel uç noktalar kullanabilir miyim?
Evet, WordPress REST API uç noktalarınızı HTTP istekleri yapabilen herhangi bir uygulamadan tüketebilirsiniz. İster React, Vue veya Flutter ile yapılmış bir mobil uygulama kullanın, API istekte bulunmak için kullanılan platformdan bağımsız olarak standart JSON verileri döndürür.
Özel uç noktalar site performansını etkiler mi?
Doğru yapılandırılırsa etki minimumdur. Ancak geri çağrı fonksiyonlarınız içindeki verimsiz veritabanı sorguları yanıt sürelerini yavaşlatabilir. Kullanıcılarınız için hızlı bir deneyim sürdürmek amacıyla mümkün olan her yerde önbelleğe alınmış verileri kullanın ve istekler sırasında ağır işlemlerden kaçının.
Kayıtlı rotaları nerede bulabilirim?
WordPress sitenizde mevcut tüm rotaları, site URL’nizin ardından /wp-json/ yazarak görüntüleyebilirsiniz. Bu dizin, kayıtlı tüm ad alanlarını ve ilgili uç noktalarını listeler. Bu, özel rotanızın doğru şekilde kaydedildiğini ve erişilebilir olduğunu doğrulamak için yararlı bir araçtır.
Yeni uç noktaları test etmenin en iyi yolu nedir?
Uç noktanıza istek göndermek için Postman veya tarayıcı konsolu gibi araçları kullanın. Bu araçlar yanıt başlıklarını, JSON gövdesini ve durum kodlarını incelemenize olanak tanır. Bozuk uç noktaları canlı sitenize maruz bırakmaktan kaçınmak için önce bir hazırlık (staging) ortamında test etmeniz önerilir.
Projeniz için sonraki adımlar
Sunmanız gereken belirli veri alanlarını özetleyerek bu hafta başlayın. İlk GET isteğinizi test etmek için basit bir eklenti dosyası oluşturun. Verileri başarıyla alabildikten sonra, POST istekleri için kimlik doğrulama uygulamaya geçin. Aşamalı olarak inşa ederek kodunuzun temiz ve güvenli olmasını sağlarsınız. Ekibiniz için gelecekteki bakımı kolaylaştırmak adına ilerledikçe uç nokta yapınızı belgelendirin. Adlandırma ve hata yönetiminde tutarlılık, uygulama gereksinimleriniz büyüdükçe baş ağrılarını önleyecektir.
Okumaya devam edin: Web Tasarım ve Geliştirme · Web Tasarım