Criar Queries Auxiliares
Ao trabalhar com traduções, você pode se deparar com diversas situações em que precisa identificar, analisar ou processar conteúdos específicos no seu site. Por exemplo:
- Encontrar posts que contêm um bloco Gutenberg específico que não pode ser traduzido
- Identificar posts com dados corrompidos ou malformados
- Localizar conteúdo que precisa de revisão manual ou migração
- Recuperar listas de posts, páginas ou outros tipos de conteúdo para operações em lote
Como o Gato AI Translations for Polylang executa o Gato GraphQL por baixo dos panos, você pode usar esta ferramenta de forma conveniente para criar queries GraphQL personalizadas para buscar, filtrar e recuperar informações do seu site WordPress.
Ativar o Modo Avançado
Para executar queries GraphQL, você deve primeiro ativar o Modo Avançado nas Configurações do plugin.
Acesse Configurações > Configuração do Plugin > Uso Avançado e selecione Ativar o Modo Avançado:

Após a ativação, o tipo de post personalizado Queries ficará disponível no menu de administração do WordPress:

Navegue até Queries no menu de administração do WordPress e adicione uma nova entrada. Dê a ela um título descritivo que indique claramente o que a query faz.
Exemplos
Encontrar Posts que Contêm um Bloco Específico
Um caso de uso comum é identificar posts que contêm um bloco Gutenberg específico que não pode ser traduzido. Esta query ajuda você a localizar todos os posts que precisam ser migrados para um bloco diferente e traduzível.
Crie uma nova entrada com o título Find posts containing a certain block e use esta query:
query FindPostsContainingBlock(
$blockName: String!
) {
customPostCount(
filter: {
status: any,
search: $blockName
}
)
customPosts(
filter: {
status: any,
search: $blockName
},
pagination: { limit: -1 }
) {
id
title
customPostType
url
wpAdminEditURL
}
}Observe que podemos fornecer variáveis para a query, de modo que ela possa ser reutilizada para blocos diferentes.
Por exemplo, para encontrar posts que contêm o bloco FAQ do Yoast, defina as variáveis GraphQL como:
{
"blockName": "yoast/faq-block"
}Em seguida, execute a query:

Na resposta, você pode ver a lista de posts que contêm o bloco FAQ do Yoast. Clicar em qualquer url abrirá o post no frontend, ou clicar em qualquer link wpAdminEditURL abrirá o post no editor do WordPress.
{
"data": {
"customPostCount": 6,
"customPosts": [
{
"id": 38602,
"title": "BTS B",
"customPostType": "page",
"url": "https://www.mysite.com/bts-dietetique-b/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38602&action=edit"
},
{
"id": 38024,
"title": "Merci",
"customPostType": "page",
"url": "https://www.mysite.com/merci/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38024&action=edit"
},
{
"id": 38633,
"title": "BTS A",
"customPostType": "page",
"url": "https://www.mysite.com/bts-dietetique-a/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38633&action=edit"
},
{
"id": 34871,
"title": "Collagène marin B",
"customPostType": "page",
"url": "https://www.mysite.com/meilleurs-collagenes-marin/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=34871&action=edit"
},
{
"id": 34853,
"title": "Collagène marin A",
"customPostType": "page",
"url": "https://www.mysite.com/meilleur-collagene-marin/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=34853&action=edit"
},
{
"id": 33987,
"title": "Meilleur collagène en 2025 : l’avis d’un médecin (15 marques)",
"customPostType": "page",
"url": "https://www.mysite.com/meilleur-collagene/",
"wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=33987&action=edit"
}
]
}
}Corrigir Erros de Dados Corrompidos
Outro caso de uso comum é a correção de erros de dados corrompidos.
Por exemplo, se um item de mídia tiver uma referência de pai inexistente, o plugin falhará ao traduzir o conteúdo. Você pode corrigir isso removendo a referência ao pai.
Crie uma nova entrada com o título Remove parent reference from media item e use esta query:
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Por exemplo, para corrigir o erro de dados corrompidos para o item de mídia com ID 26066, defina as variáveis GraphQL como:
{
"mediaItemID": 26066
}E execute a query.