WordPress HTTP API ile dış servislere GET ve POST isteği gönderme, yanıtları okuma, hata kontrolü ve temel API bağlantı sürecini doğru şekilde öğrenin.
Bir WordPress eklentisinin dışarıdaki bir servisten veri alması gerektiğinde iş çoğu zaman HTTP isteğine dayanır. Farklı bir REST API ile bağlantı kurulacaksa doğrudan cURL veya file_get_contents ile uğraşmak yerine WordPress HTTP API kullanılabilir. Böylece istek gönderme ve yanıtı okuma işlemleri WordPress’in kendi yapısı içinde kalır.
Bu yapı ilk bakışta yalnızca geliştiricileri ilgilendiriyor gibi görünse de entegrasyon kullanan pek çok sitenin arkasında çalışır. WordPress HTTP API, GET ve POST isteklerinden yanıt kodu ve başlıkların alınmasına kadar ortak bir arayüz sunar. API tarafındaki yöntemi anlamak, bağlantı hatalarının nerede oluştuğunu ayırt etmeyi de kolaylaştırır.
Birden fazla siteyi tek kurulumdan yöneten projelerde dış servis bağlantıları daha da önemli hale gelebilir. WordPress Multisite ile SaaS İşletmesi Nasıl Kurulur konusu, ortak altyapı üzerinde çalışan sitelerde entegrasyonların nasıl planlanacağını anlamak için iyi bir devam noktasıdır. Özellikle aynı servisle birden fazla sitenin iletişim kurduğu yapılarda istek akışının baştan düzenli kurulması işleri kolaylaştırır.

WordPress HTTP API ne işe yarar?
WordPress HTTP API, bir WordPress sitesinin başka bir sunucuya HTTP isteği göndermesini ve gelen yanıtı işlemesini sağlayan yerleşik fonksiyonlar bütünüdür. GET, POST ve HEAD istekleri için hazır fonksiyonlar bulunur. Yanıt gövdesi, başlıklar ve HTTP durum kodu da ayrı yardımcı fonksiyonlarla alınabilir.
HTTP API Nedir, istek ve yanıt nasıl çalışır?
HTTP iletişiminde iki taraf vardır: istek ve yanıt. İstek; kullanılacak yöntemi, hedef adresi, başlıkları ve gerekiyorsa gövde verisini taşır. Sunucu da buna bir durum kodu, başlıklar ve çoğu zaman yanıt gövdesi ile karşılık verir.
GET genellikle veri almak, POST ise veri göndermek için kullanılır. HEAD yalnızca yanıt başlıklarına ihtiyaç duyulan durumlarda işe yarar. PUT veya DELETE gibi farklı yöntemler gerektiğinde WordPress HTTP API içindeki wp_remote_request() fonksiyonu kullanılabilir.
Pratik tarafı da burada ortaya çıkıyor. Geliştirici bağlantının alt katmanlarıyla tek tek uğraşmak yerine WordPress’in sunduğu ortak fonksiyonlarla çalışıyor. Kod böylece daha rahat takip edilebiliyor.
WordPress HTTP API ile ilk istek nasıl gönderilir?
Basit bir GET isteği wp_remote_get() ile gönderilebilir:
$response = wp_remote_get( 'https://example.com/api/status' );
if ( ! is_wp_error( $response ) ) {
$status_code = wp_remote_retrieve_response_code( $response );
$body = wp_remote_retrieve_body( $response );
}
$response yalnızca karşı servisten gelen içeriği taşımaz. Yanıt başlıkları, durum bilgisi ve gövde gibi farklı bölümler de bulunur. Tüm diziyi elle ayıklamak yerine wp_remote_retrieve_body(), wp_remote_retrieve_headers() ve wp_remote_retrieve_response_code() gibi hazır fonksiyonlardan yararlanılabilir.
Kod örneklerini incelerken benim özellikle dikkat ettiğim ayrıntı, yalnızca yanıt gövdesine bakmanın yeterli olmaması. İstek tamamlanmış görünse bile karşı sunucu 404 veya 500 gibi bir durum kodu gönderebilir. Bu nedenle is_wp_error() kontrolünün ardından HTTP durum koduna da bakmak, hatanın hangi aşamada oluştuğunu anlamayı kolaylaştırıyor.

POST isteğinde veri nasıl gönderilir?
Bir servise veri iletilecekse wp_remote_post() kullanılabilir. Başlıklar ve gönderilecek içerik ikinci parametrede tanımlanır:
$args = array(
'headers' => array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $access_token,
),
'body' => json_encode( $data ),
);
$response = wp_remote_post(
'https://example.com/api/items',
$args
);
Kimlik doğrulama biçimi bağlanılan API’ye göre değişir. Servis Bearer token veya farklı bir başlık istiyorsa WordPress HTTP API isteğinin de o servisin belirlediği yapıya göre hazırlanması gerekir. Başlıklar headers, gönderilecek veri ise body bölümünde tutulabilir.
Hangi WordPress HTTP API fonksiyonları kullanılır?
Temel işlemlerde birkaç fonksiyon çoğu ihtiyacı karşılar. wp_remote_get() veri almak, wp_remote_post() veri göndermek, wp_remote_head() yalnızca yanıt başlıklarını istemek için kullanılır. HTTP yönteminin ayrıca belirtilmesi gereken bir işlem varsa wp_remote_request() tercih edilebilir.
Yanıtı işlerken de hazır fonksiyonlar vardır. wp_remote_retrieve_body() gövdeyi, wp_remote_retrieve_header() belirli bir başlığı, wp_remote_retrieve_headers() tüm başlıkları alır. wp_remote_retrieve_response_code() HTTP durum kodunu, wp_remote_retrieve_response_message() ise durum mesajını verir.

WordPress HTTP API ile çalışırken isteğin başarılı olduğunu baştan varsaymamak gerekir. Dış servis geçici olarak erişilemez olabilir veya beklenen veri yerine hata yanıtı döndürebilir. Hata ve durum kodu kontrolü bu nedenle bağlantının önemli parçalarından biridir.
2026 itibarıyla bu fonksiyonlar WordPress geliştirici belgelerinde kullanılmaya devam ediyor. Eski kod örneklerinde bulunan üçüncü taraf API adresleri ve kimlik doğrulama yöntemleri ise zamanla değişebilir. Böyle bir örnek uygulanırken bağlanılacak servisin güncel belgelerini kontrol etmek gerekir.
Dış servis bağlantısı sırasında WordPress tarafında hata, bağlantı veya yapılandırma sorunu yaşanırsa 11858 üzerinden teknik destek alınabilir. 2011’den bu yana Türkiye genelinde 7/24 hizmet veren 11858, bilgisayar, akıllı TV, sosyal medya ve modem dahil farklı alanlarda destek sağlıyor. Gerektiğinde TeamViewer ve AnyDesk gibi lisanslı araçlarla uzaktan bağlantı kuruluyor. Dakika bazlı şeffaf ücretlendirmeyle çalışan hizmetin yüzde 95 memnuniyet oranı ve 500.000’den fazla başarılı işlem tecrübesi bulunuyor.
Bir API entegrasyonu teknik olarak doğru çalışsa bile sitenin arama görünürlüğü ayrı değerlendirilmelidir. GEO, AEO ve SEO Farkları WordPress Nasıl Optimize Edilir içeriği, dış servislerden gelen verilerin kullanıldığı bir WordPress sitesinde arama ve yapay zeka sistemlerine yönelik optimizasyonu ele almak için bağlantılı bir sonraki konu olabilir. Teknik bağlantı ile içerik görünürlüğünü ayrı değerlendirmek, yapılacak değişikliklerin amacını daha net tutar.
WordPress HTTP API dış servis bağlantısını birkaç fonksiyonla kurmayı mümkün kılıyor, fakat işin kritik tarafı gönderilen isteğin kendisinden çok gelen yanıtı doğru okumakta. Siz WordPress HTTP API kullanırken hangi servis veya HTTP hatasında zorlandınız? Karşılaştığınız durumu yorumlarda paylaşabilirsiniz.