Tutoriales
TutorialesDescubrir qué entradas contienen un bloque determinado

Descubrir qué entradas contienen un bloque determinado

A veces puedes encontrarte con un bloque de Gutenberg que el plugin no puede traducir (consulta Can all Gutenberg blocks be translated?). En tales casos, necesitarás identificar todas las entradas que contengan ese bloque para poder migrarlas a un bloque distinto y traducible.

Dado que Gato AI Translations for Polylang ejecuta Gato GraphQL internamente, puedes ejecutar cómodamente consultas GraphQL para buscar en tu contenido.

Para ejecutar consultas GraphQL, primero debes habilitar el Advanced Mode y acceder al CPT Queries. Consulta Crear consultas de ayuda para obtener instrucciones sobre cómo habilitar el Advanced Mode.

Crear la consulta GraphQL

Navega a Queries en el menú de administración de WordPress y añade una nueva entrada. Asígnale un título descriptivo como "Find posts containing a certain block".

A continuación, pega la siguiente consulta GraphQL:

query FindPostsContainingBlock(
  $blockName: String!
) {
  customPostCount(
    filter: {
      status: any,
      search: $blockName
    }
  )
  customPosts(
    filter: {
      status: any,
      search: $blockName
    },
    pagination: { limit: -1 }
  ) {
    id
    title
    customPostType
    url
    wpAdminEditURL
  }
}

Establecer las variables de GraphQL

Antes de ejecutar la consulta, debes proporcionar la variable blockName. El nombre del bloque sigue el formato namespace/block-name.

Por ejemplo, para encontrar las entradas que contienen el bloque Yoast FAQ, establece las variables de GraphQL en:

{
  "blockName": "yoast/faq-block"
}

Para encontrar el nombre exacto del bloque, puedes inspeccionar el bloque en el editor de Gutenberg o consultar la documentación del bloque.

Ejecutar la consulta

Tras establecer las variables de GraphQL, ejecuta la consulta. La respuesta incluirá:

  • customPostCount: El número total de entradas que contienen el bloque
  • customPosts: Un array de todas las entradas coincidentes con sus detalles
Ejecutando la consulta GraphQL
Ejecutando la consulta GraphQL

Ejemplo de respuesta

{
  "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"
      }
    ]
  }
}

Haz clic en cualquier enlace wpAdminEditURL para abrir directamente esa entrada en el editor de WordPress. A continuación, accede a cada entrada y sustituye el bloque problemático por una alternativa traducible.