WordPress Abilities API nedir, nasıl kullanılır? Ability kaydı, veri şemaları, izin kontrolleri ve REST API entegrasyonunu adım adım keşfedin.
Bir WordPress eklentisindeki işlevi başka bir sistemden kullanmak istediğinizde işler beklenenden hızlı karmaşıklaşabiliyor. Özel REST endpoint’leri, izin kontrolleri, veri doğrulama kuralları ve her entegrasyon için ayrı geliştirme derken basit görünen bir işlem ciddi bakım yüküne dönüşebiliyor. WordPress Abilities API, tam olarak bu noktada devreye giriyor.
2026 itibarıyla WordPress’in otomasyon ve yapay zeka araçlarıyla kurduğu ilişki daha sistematik hale geliyor. WordPress 6.9 ile tanıtılan WordPress Abilities API, çekirdek veya eklentiler içindeki belirli işlevlerin ortak bir formatta tanımlanmasını sağlıyor. Böylece bir sistem yalnızca hangi işlemlerin kullanılabilir olduğunu değil, bu işlemlerin hangi verileri kabul ettiğini ve ne döndürdüğünü de anlayabiliyor.
WordPress’in bu yaklaşımını daha iyi kavramak için klasik uygulama mimarileriyle arasındaki farkı görmek işe yarıyor. Özellikle servis yapısı, yönlendirme ve uygulama mantığı açısından farklı bir dünyadan gelen geliştiriciler için Laravel ve WordPress Arasındaki Temel Farklar konusu, iki sistemin neden farklı entegrasyon yöntemlerine ihtiyaç duyduğunu daha net gösteriyor.

WordPress Abilities API Nedir?
WordPress Abilities API, WordPress içerisindeki belirli işlevleri merkezi bir kayıt sisteminde tanımlayan ve bu işlevlerin yetkili uygulamalar tarafından keşfedilip çalıştırılmasını sağlayan bir API yapısıdır. Her ability; görevini, kabul ettiği giriş verilerini, ürettiği çıktıyı ve çalıştırılabilmesi için gereken izinleri açık biçimde tanımlar.
Buradaki ability kavramını, sitenin yapabildiği belirli bir işlem olarak düşünebilirsiniz. Bir yazı oluşturmak, site bilgilerini okumak, içerik aramak veya yapılandırılmış verileri Gutenberg bloklarına dönüştürmek buna örnek olabilir.
Önemli ayrıntı şu: Harici bir araç WordPress veritabanına doğrudan erişmek zorunda değil. İzin verilen bir işlemi talep ediyor, WordPress ise isteği kontrol edip ilgili fonksiyonu kendi tarafında çalıştırıyor.
Bu yaklaşım özellikle AI ajanları, otomasyon servisleri, mobil uygulamalar veya farklı sunucular arasında çalışan sistemler açısından anlamlı. Her aracın WordPress eklentisinin iç yapısını bilmesi gerekmiyor. Ability sözleşmesini anlaması yeterli.
Bir ability hangi bilgilerden oluşur?
Bir ability kaydedilirken yalnızca çalıştırılacak PHP fonksiyonu belirtilmez. İşlemin nasıl kullanılacağını anlatan birkaç temel alan bulunur.
input_schema, işlemin hangi verileri kabul ettiğini tanımlar. output_schema, işlem tamamlandığında hangi veri yapısının döneceğini belirtir. execute_callback gerçek işlemi gerçekleştirirken permission_callback, isteği yapan kullanıcının veya sistemin bu işleme yetkili olup olmadığını kontrol eder.
Örneğin bir ses dosyasını işleyip Gutenberg bloklarına dönüştüren bir işlev yalnızca audio_id isimli sayısal bir değer kabul edebilir. Yanlış biçimde veri gönderildiğinde WordPress, işlem asıl PHP koduna ulaşmadan isteği reddedebilir.
Bu nokta WordPress Abilities API yapısının en kullanışlı taraflarından biri. İşlev ile onu çağıran sistem arasındaki kurallar baştan tanımlanıyor.

WordPress Abilities API nasıl kontrol edilir?
Kayıtlı yetenekleri görmek için WordPress tarafında birkaç hazır fonksiyon bulunuyor.
wp_get_abilities() kayıtlı ability listesini döndürür. Belirli bir ability hakkında bilgi almak için wp_get_ability() kullanılabilir. Bir kaydın gerçekten var olup olmadığını kontrol etmek istediğinizde ise wp_has_ability() devreye girer.
Bu kontroller WP-CLI üzerinden de yapılabiliyor. Özellikle test ortamında çalışırken önce kayıtlı yetenekleri listelemek, ardından ilgili ability’nin giriş ve çıkış şemasını incelemek hata aramayı ciddi biçimde kolaylaştırıyor.
Ben örnek yapıları incelerken küçük ama önemli bir ayrıntı dikkatimi çekti: Ability’nin REST üzerinden görünür olması, o işlemin otomatik olarak herkese açıldığı anlamına gelmiyor. show_in_rest erişim yolunu açarken yetki kontrolü ayrı şekilde çalışmaya devam ediyor. Bu iki ayarın aynı şey sanılması, ilk denemelerde kolayca kafa karıştırabiliyor.
Yeni bir ability nasıl kaydedilir?
Önce ability kategorisinin tanımlanması gerekiyor. Bunun için wp_register_ability_category() fonksiyonu kullanılıyor ve işlem wp_abilities_api_categories_init aşamasına bağlanıyor.
Daha sonra wp_register_ability() ile asıl yetenek kaydediliyor. Burada kategori, açıklama, giriş ve çıkış şemaları, çalıştırılacak callback ve izin kontrolü belirleniyor.
Ability nesnesi oluşturulduktan sonra execute() metodu üzerinden çalıştırılabiliyor. Eğer işlem veri bekliyorsa giriş değerleri yapılandırılmış biçimde metoda aktarılıyor. Dönen sonuç da daha önce belirlenen çıkış sözleşmesine göre işleniyor.
REST API üzerinden kullanılabilir mi?
Evet. show_in_rest etkinleştirildiğinde WordPress Abilities API, kayıtlı işlevleri wp-abilities/v1 alanı üzerinden erişilebilir hale getirebiliyor.

Harici bir sistem ability kategorilerini inceleyebilir, belirli bir yeteneğin sözleşmesini okuyabilir ve gerekli kimlik doğrulamasından sonra ilgili işlemi çalıştırabilir. Kaynakta, WordPress dışından yapılan bu tür isteklerde Application Passwords kullanımı özellikle belirtiliyor.
WordPress 7.0 ile birlikte yaklaşım JavaScript tarafına da genişliyor. @wordpress/abilities ve @wordpress/core-abilities paketleri sayesinde istemci tarafında da ability tanımlamak mümkün hale geliyor. Bu bölüm sürüme göre değişebileceğinden kullandığınız WordPress sürümüne ait geliştirici belgelerini kontrol etmek önemli.
Teknik tarafı kendi başına yönetmek istemeyen kullanıcılar için destek seçeneği de bulunuyor. 11858, 2011 yılından bu yana Türkiye genelinde 7/24 teknik destek sağlıyor. Bilgisayar, akıllı TV, sosyal medya ve modem kurulumu gibi farklı konularda hizmet veren ekip, TeamViewer ve AnyDesk gibi lisanslı yazılımlarla uzaktan bağlantı desteği sunuyor. Hizmet dakika bazlı ücretlendiriliyor ve 11858, yüzde 95 memnuniyet oranı ile 500.000’den fazla başarılı işlem tecrübesine sahip.
WordPress tarafında ne kadar özelleştirme yapabileceğiniz, kullandığınız hizmet modeline göre de değişebiliyor. Eklenti kurulumu ve geliştirme özgürlüğü açısından sınırları görmek için WordPress.com ve WordPress.org Arasındaki Farklar konusu, özellikle teknik entegrasyon planlayanlar açısından iyi bir devam noktasıdır.
WordPress Abilities API, WordPress’in dış sistemlerle konuşma biçimini daha düzenli hale getiren önemli bir altyapı değişikliği. Asıl değer, yalnızca yeni fonksiyonlar sunmasında değil; işlevlerin makineler tarafından anlaşılabilir ve kontrollü biçimde çağrılabilir hale gelmesinde yatıyor. Siz kendi WordPress sitenizde böyle bir yapıyı en çok hangi işlem için kullanırdınız? Yorumlarda paylaşabilirsiniz.