Problemas comuns
Problemas comunsPolylang com comportamento incorreto

Polylang com comportamento incorreto

Ao usar a extensão Polylang e notar os seguintes problemas ao buscar dados via GraphQL a partir de um endpoint público:

  • O Polylang não detecta corretamente o idioma atual para as requisições GraphQL
  • O conteúdo específico do idioma não é filtrado corretamente
  • Você obtém conteúdo no idioma errado ou nenhum conteúdo

...e você realizou alguma das seguintes ações no Gato GraphQL:

  • Atualizou o caminho do GraphQL Single Endpoint
  • Atualizou o slug base dos Custom Endpoints ou das queries persistidas
  • Desabilitou algum endpoint (desabilitando o módulo correspondente)

...então é necessário aplicar a mesma modificação via hook, para evitar o conflito.

Por que isso acontece

Há um conflito de sincronização entre a inicialização do Polylang e a configuração do contêiner de serviços do Gato GraphQL.

O Polylang define os filtros pll_model e pll_context durante seu processo de inicialização. Como o Gato GraphQL ainda não foi inicializado, ele não consegue recuperar os caminhos corretos dos endpoints do banco de dados para determinar se a requisição vem de um endpoint GraphQL e sobrescrever o modelo e o contexto com os corretos (PLL_Admin_Model e PLL_Admin, respectivamente).

Solução temporária

Quando o Polylang define os filtros pll_model e pll_context, o Gato GraphQL assume os caminhos padrão para os endpoints GraphQL.

Portanto, se você modificar o caminho de algum endpoint público nas Configurações do plugin, é necessário aplicar a mesma modificação via hook.

Leia o guia Replicando atualizações do caminho do endpoint GraphQL via hooks para a solução.