🚀 Yeni Gato GraphQL v2.1 ile WordPress Görevlerinizi Otomatikleştirin
Gato GraphQL v2.1 sürümünün yayınlandığını duyurmaktan büyük mutluluk duyuyoruz!
Bu yeni sürümle ve PRO eklentileriyle, Otomatikleştirici olarak GraphQL kullanabilir; WordPress sitenizdeki veriyle ilgili görevleri otomatikleştirmek için GraphQL persisted queries'den yararlanabilirsiniz.
Aşağıda v2.1 sürümüne eklenen tüm değişiklikler yer almaktadır (daha kısa bir sürüm GitHub'daki Sürüm notlarında mevcuttur).
Dahili GraphQL Sunucusu çağrılırken uygulanacak Şema Yapılandırmasının belirtilmesi desteği
Artık dahili bir GraphQL Sunucusu aracılığıyla (yani bir endpoint üzerinden değil, doğrudan PHP uygulaması içinde) bir query çalıştırırken hangi Şema Yapılandırmasının uygulanacağını belirtebiliyoruz.
Bu yeni özellik, Internal GraphQL Server eklentisini geliştiriyor: Artık GraphQLServer sınıfının executeQuery ve executeQueryInFile metodlarında $schemaConfigurationIDOrSlug parametresini kabul ediyor ve executePersistedQuery'de persisted query tarafından kullanılan şema yapılandırmasını zaten çıkarıyor:
class GraphQLServer {
public static function executeQuery(
string $query,
array $variables = [],
?string $operationName = null,
+ // Accept parameter
+ int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
public static function executeQueryInFile(
string $file,
array $variables = [],
?string $operationName = null,
+ // Accept parameter
+ int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
public static function executePersistedQuery(
WP_Post|string|int $persistedQuery,
array $variables = [],
?string $operationName = null,
+ // Schema Configuration is taken directly from the Persisted Query
): Response {
// ...
}Otomatikleştirici olarak GraphQL [PRO]
Yukarıdaki özellik aynı zamanda Automation eklentisinin geliştirilmesi için de temel oluşturuyor.
Automation eklentisi artık Automation Configurator adı verilen bir "otomatikleştirici" kullanıcı arayüzü sunuyor (doğrudan WordPress editörü üzerinden). Otomasyon tetikleyicisi herhangi bir WordPress action hook'u olabilir; gerçekleştirilen eylem ise bir GraphQL persisted query'nin çalıştırılmasıdır.

Örneğin, yeni bir gönderi oluşturulduğunda Add comments block to new post otomasyon kuralı (aynı adlı persisted query'yi çalıştırır) core/comments bloğunun mevcut olup olmadığını kontrol eder ve yoksa gönderinin altına ekler:

Otomatikleştiriciyi kullanabileceğiniz bazı yollar:
- Yapay zeka kullanarak yeni gönderiler için öne çıkan görsel oluşturmak (ve optimize etmek)
- Gönderi yayınlandığında zorunlu bir blok eklemek
- Bir gönderi güncellendiğinde tüm görsel kaynaklarındaki ve bağlantılardaki
httpifadesinihttpsile değiştirmek - Yeni bir gönderi olduğunda yöneticiye e-posta göndermek
- Yorumuna yeni bir yanıt gelen kullanıcıya e-posta göndermek
- [Multisite] Yeni bir gönderiyi farklı dillere çevirmek ve çevrilmiş gönderileri her siteye eklemek
- Harici bir serviste eylem gerçekleştirmek (ör.: yeni gönderileri otomatik olarak Facebook'ta paylaşmak)
GraphQL persisted queries ve otomasyon kurallarını doğrudan wp-admin içinde oluşturabildiğinizden, ihtiyaçlarınıza göre özelleştirilmiş bir otomasyon hattı oluşturmak çok az zaman alır.
Ve girdilerde herhangi bir kısıtlama olmadığından (GraphQL query WordPress'teki tüm verilerle etkileşime girebilir ve bir HTTP istemcisi aracılığıyla herhangi bir harici servise bağlanabilir), gereksinimlerinizin %100'ünü karşılayabilmeniz gerekir.
(Otomatikleştirici eklentiler genellikle ihtiyaçlarımızın %95'ini karşılar; çünkü çoğu zaman ihtiyaç duyduğumuz bir girdinin eşlenmediğini görürüz.)
Birkaç otomasyon kuralı eklenti tarafından zaten oluşturulmuştur (durumu draft olarak, yani etkili olmaları için publish olarak güncellenmeleri gerekir). Bunları hemen kullanabilir, ayrıca kendi otomasyonlarınızı oluşturmak için örnek olarak inceleyebilirsiniz (bu liste sonraki sürümlerde genişletilecektir):
- Add comments block to new post
- Insert block in new post
- Send notification email to admin when there is a new post
- Generate a post's featured image using AI (and optimize it) if a new post has none

Önceden tanımlanmış persisted query "Insert block in post"
Yeni eklenen "Insert block in post" GraphQL persisted query'si, bir gönderiye blok eklenmesine olanak tanır. Bir gönderideki belirli türdeki (varsayılan olarak wp:paragraph) n. bloğu tanımlar ve sağlanan özel bloğun HTML içeriğini hemen ardına yerleştirir.
Automation eklentisiyle birlikte kullanıldığında, bu persisted query yeni yayınlanan bir gönderiye otomatik olarak zorunlu bloklar eklemek için kullanılabilir (ör.: devam eden bir kampanyayı tanıtmak için bir CTA bloğu).
İyileştirmeler
- Servis kapsayıcısı önbellekten başlatılamadığında PHP nesnesini bellekten başlatmaya geri dön (#2638)
- Tüm önceden tanımlanmış persisted queries'e benzersiz operationName ata (#2644)
- Bir gönderiden bloklar alınırken blok içeriğinde hata olduğunda iyileştirilmiş hata mesajı
- Automation eklentisi için belgeler tamamlandı (#2651)
- "Generate a post's featured image using AI and optimize it" önceden tanımlanmış persisted query'sinde, yalnızca gönderi başlığı boş değilse mantığı çalıştır (#ec931dd)
Düzeltmeler
- Eklentiler (Access Control, Cache Control ve Field Deprecation) tarafından kullanılan çok denetimli JS bileşenindeki, Şema Yapılandırmasındaki blokta "undefined" gösteren hata (#2639)
- Önceden tanımlanmış persisted queries'deki regex değiştirmelerindeki hata (#2649)
- Eklenti devre dışı bırakılıp yeniden etkinleştirildiğinde eklenti kurulum verilerinin yeniden yüklenmesinin önlenmesi (#2641)
- Dahili GraphQL Sunucusuna GraphQL değişkeni olarak WP_Post geçilmesinden kaynaklanan hatanın ele alınması (#2652)