Polylang hata yapıyor
Polylang uzantısını kullanırken, genel bir endpoint üzerinden GraphQL ile veri çekerken aşağıdaki sorunları fark ederseniz:
- Polylang, GraphQL istekleri için geçerli dili doğru şekilde algılamıyor
- Dile özgü içerik doğru şekilde filtrelenmiyor
- Yanlış dilde içerik alıyorsunuz ya da hiç içerik gelmiyor
...ve Gato GraphQL'de aşağıdakilerden birini yaptıysanız:
- GraphQL Single Endpoint yolunu güncellediyseniz
- Custom Endpoints veya Persisted Queries'in temel slug'ını güncellediyseniz
- Herhangi bir endpoint'i devre dışı bıraktıysanız (ilgili modülü devre dışı bırakarak)
...çakışmayı önlemek için aynı değişikliği bir hook aracılığıyla da uygulamanız gerekir.
Bu neden oluyor
Polylang'ın başlatılması ile Gato GraphQL'in servis kapsayıcı kurulumu arasında bir zamanlama çakışması vardır.
Polylang, pll_model ve pll_context filtrelerini kendi başlatma süreci sırasında ayarlar. Gato GraphQL henüz başlatılmadığından, isteğin bir GraphQL endpoint'inden gelip gelmediğini belirlemek ve modeli ile bağlamı doğru olanlarla (PLL_Admin_Model ve sırasıyla PLL_Admin) geçersiz kılmak için gerekli endpoint yollarını veritabanından alamaz.
Geçici çözüm
Polylang pll_model ve pll_context filtrelerini ayarladığında, Gato GraphQL GraphQL endpoint'leri için varsayılan yolları kullanır.
Bu nedenle, eklenti Ayarları üzerinden herhangi bir genel endpoint'in yolunu değiştirirseniz, aynı değişikliği bir hook aracılığıyla da uygulamanız gerekir.
Çözüm için GraphQL endpoint yol güncellemelerini hook'lar aracılığıyla kopyalama kılavuzunu okuyun.