Problemi comuni
Problemi comuniPolylang si comporta male

Polylang si comporta male

Quando si utilizza l'estensione Polylang e si notano i seguenti problemi durante il recupero dei dati tramite GraphQL da un endpoint pubblico:

  • Polylang non rileva correttamente la lingua attuale per le richieste GraphQL
  • Il contenuto specifico della lingua non viene filtrato correttamente
  • Si ottiene contenuto nella lingua sbagliata o nessun contenuto

...e si è effettuata una delle seguenti operazioni in Gato GraphQL:

  • Aggiornato il percorso del GraphQL Single Endpoint
  • Aggiornato lo slug di base dei Custom Endpoints o delle Persisted Queries
  • Disabilitato un endpoint (disabilitando il modulo corrispondente)

...allora è necessario applicare la stessa modifica tramite un hook, per evitare il conflitto.

Perché questo accade

C'è un conflitto di sincronizzazione tra l'inizializzazione di Polylang e la configurazione del contenitore di servizi di Gato GraphQL.

Polylang imposta i filtri pll_model e pll_context durante il suo processo di inizializzazione. Poiché Gato GraphQL non è ancora inizializzato, non può recuperare i percorsi corretti degli endpoint dal database, al fine di determinare se la richiesta proviene da un endpoint GraphQL e sostituire il modello e il contesto con quelli corretti (PLL_Admin_Model e PLL_Admin rispettivamente).

Soluzione temporanea

Quando Polylang imposta i filtri pll_model e pll_context, Gato GraphQL assume i percorsi predefiniti per gli endpoint GraphQL.

Quindi, se si modifica il percorso di un endpoint pubblico tramite le Impostazioni del plugin, è necessario applicare la stessa modifica tramite un hook.

Consulta la guida Replicare gli aggiornamenti del percorso dell'endpoint GraphQL tramite hook per la soluzione.