Avanzado
AvanzadoCrear consultas de ayuda

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:

Habilitando el modo avanzado
Habilitando el modo avanzado

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

CPT Queries habilitado
CPT Queries habilitado

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:

Ejecutando la consulta GraphQL
Ejecutando la consulta GraphQL

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.