Problèmes courants
Problèmes courantsPolylang se comporte mal

Polylang se comporte mal

Lors de l'utilisation de l'extension Polylang, et que vous remarquez les problèmes suivants lors de la récupération de données via GraphQL depuis un endpoint public :

  • Polylang ne détecte pas correctement la langue actuelle pour les requêtes GraphQL
  • Le contenu spécifique à la langue n'est pas filtré correctement
  • Vous obtenez du contenu dans la mauvaise langue ou aucun contenu du tout

...et que vous avez effectué l'une des opérations suivantes dans Gato GraphQL :

  • Mis à jour le chemin du GraphQL Single Endpoint
  • Mis à jour le slug de base des Custom Endpoints ou Persisted Queries
  • Désactivé un endpoint (en désactivant le module correspondant)

...vous devez alors appliquer la même modification via un hook, afin d'éviter le conflit.

Pourquoi cela se produit

Il y a un conflit de synchronisation entre l'initialisation de Polylang et la configuration du conteneur de services de Gato GraphQL.

Polylang définit les filtres pll_model et pll_context lors de son processus d'initialisation. Comme Gato GraphQL n'est pas encore initialisé, il ne peut pas récupérer les chemins d'endpoint corrects depuis la base de données, afin de déterminer si la requête provient d'un endpoint GraphQL et de remplacer le modèle et le contexte par les corrects (PLL_Admin_Model et PLL_Admin respectivement).

Solution temporaire

Lorsque Polylang définit les filtres pll_model et pll_context, Gato GraphQL suppose les chemins par défaut pour les endpoints GraphQL.

Ainsi, si vous modifiez le chemin d'un endpoint public via les Réglages du plugin, vous devez appliquer la même modification via un hook.

Consultez le guide Répliquer les mises à jour du chemin de l'endpoint GraphQL via des hooks pour la solution.