Polylang działa nieprawidłowo
Jeśli podczas korzystania z rozszerzenia Polylang zauważasz następujące problemy przy pobieraniu danych przez GraphQL z publicznego endpointu:
- Polylang nie wykrywa prawidłowo bieżącego języka dla żądań GraphQL
- Treść specyficzna dla danego języka nie jest filtrowana poprawnie
- Otrzymujesz treść w złym języku lub nie otrzymujesz żadnej treści
...i wykonałeś w Gato GraphQL któreś z poniższych działań:
- Zaktualizowałeś ścieżkę GraphQL Single Endpoint
- Zaktualizowałeś podstawowy slug Custom Endpoints lub zapytań utrwalonych (Persisted Queries)
- Wyłączyłeś dowolny endpoint (wyłączając odpowiedni moduł)
...to musisz zastosować tę samą modyfikację za pomocą hooka, aby uniknąć konfliktu.
Dlaczego to się dzieje
Istnieje konflikt czasowy między inicjalizacją Polylang a konfiguracją kontenera usług Gato GraphQL.
Polylang ustawia filtry pll_model i pll_context podczas swojego procesu inicjalizacji. Ponieważ Gato GraphQL nie jest jeszcze zainicjowany, nie może pobrać poprawnych ścieżek endpointów z bazy danych, aby określić, czy żądanie pochodzi z endpointu GraphQL i nadpisać model oraz kontekst poprawnymi wartościami (PLL_Admin_Model i PLL_Admin).
Obejście problemu
Gdy Polylang ustawia filtry pll_model i pll_context, Gato GraphQL przyjmuje domyślne ścieżki dla endpointów GraphQL.
Dlatego jeśli zmodyfikujesz ścieżkę dowolnego publicznego endpointu w ustawieniach wtyczki, musisz zastosować tę samą modyfikację za pomocą hooka.
Przeczytaj przewodnik Replikowanie aktualizacji ścieżki endpointu GraphQL za pomocą hooków, aby znaleźć rozwiązanie.