Crear consultas de ayuda
Cuando trabajas con traducciones, puedes encontrarte con situaciones diversas en las que necesitas identificar, analizar o procesar contenido específico en tu sitio. Por ejemplo:
- Encontrar entradas que contengan un bloque de Gutenberg concreto que no pueda traducirse
- Identificar entradas con datos corruptos o malformados
- Localizar contenido que necesita revisión o migración manual
- Recuperar listas de entradas, páginas u otros tipos de contenido para operaciones por lotes
Como Gato AI Translations for Polylang ejecuta Gato GraphQL internamente, puedes utilizar esta herramienta cómodamente para crear consultas GraphQL personalizadas con las que buscar, filtrar y recuperar información de tu sitio WordPress.
Habilitar el Modo Avanzado
Para ejecutar consultas GraphQL, primero debes habilitar el Modo Avanzado en los Ajustes del plugin.
Ve a Ajustes > Configuración del Plugin > Uso Avanzado y selecciona Habilitar el Modo Avanzado:

Una vez habilitado, el tipo de entrada personalizada Queries estará disponible en el menú de administración de WordPress:

Navega hasta Queries en el menú de administración de WordPress y añade una nueva entrada. Asígnale un título descriptivo que indique claramente lo que hace la consulta.
Ejemplos
Encontrar entradas que contienen un bloque concreto
Un caso de uso habitual es identificar entradas que contienen un bloque de Gutenberg concreto que no puede traducirse. Esta consulta te ayuda a localizar todas las entradas que necesitan migrarse a un bloque distinto que sí sea traducible.
Crea una nueva entrada con el título Find posts containing a certain block y utiliza esta consulta:
query FindPostsContainingBlock(
$blockName: String!
) {
customPostCount(
filter: {
status: any,
search: $blockName
}
)
customPosts(
filter: {
status: any,
search: $blockName
},
pagination: { limit: -1 }
) {
id
title
customPostType
url
wpAdminEditURL
}
}Fíjate en que podemos pasar variables a la consulta, de modo que podemos reutilizarla para distintos bloques.
Por ejemplo, para encontrar entradas que contengan el bloque FAQ de Yoast, define las variables de GraphQL como:
{
"blockName": "yoast/faq-block"
}A continuación, ejecuta la consulta:

En la respuesta podrás ver la lista de entradas que contienen el bloque FAQ de Yoast. Al hacer clic en cualquier url se abrirá la entrada en el frontend, y al hacer clic en cualquier enlace wpAdminEditURL se abrirá la entrada en el editor de 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"
}
]
}
}Reparar errores por datos corruptos
Otro caso de uso habitual es reparar errores por datos corruptos.
Por ejemplo, si un elemento multimedia tiene una referencia a un padre inexistente, el plugin no podrá traducir el contenido. Puedes solucionarlo eliminando la referencia al padre.
Crea una nueva entrada con el título Remove parent reference from media item y utiliza esta consulta:
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Por ejemplo, para arreglar el error de datos corruptos del elemento multimedia con ID 26066, define las variables de GraphQL como:
{
"mediaItemID": 26066
}Y ejecuta la consulta.