Tutoriais
TutoriaisDescobrir quais posts contêm um bloco específico

Descobrir quais posts contêm um bloco específico

Às vezes você pode se deparar com um bloco Gutenberg que o plugin não consegue traduzir (veja É possível traduzir todos os blocos Gutenberg?). Nesses casos, você precisará identificar todos os posts que contêm esse bloco para poder migrá-los para um bloco diferente e traduzível.

Como o Gato AI Translations for Polylang executa o Gato GraphQL internamente, você pode executar queries GraphQL de forma conveniente para pesquisar em seu conteúdo.

Para executar queries GraphQL, você deve primeiro ativar o Advanced Mode e acessar o CPT Queries. Consulte Criando queries auxiliares para instruções sobre como ativar o Advanced Mode.

Criando a query GraphQL

Acesse Queries no menu de administração do WordPress e adicione uma nova entrada. Dê a ela um título descritivo como "Find posts containing a certain block".

Em seguida, cole a seguinte query 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
  }
}

Definindo as variáveis GraphQL

Antes de executar a query, você precisa fornecer a variável blockName. O nome do bloco segue o formato namespace/block-name.

Por exemplo, para encontrar posts que contêm o bloco Yoast FAQ, defina as variáveis GraphQL como:

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

Para encontrar o nome exato do bloco, você pode inspecioná-lo no editor Gutenberg ou consultar a documentação do bloco.

Executando a query

Após definir as variáveis GraphQL, execute a query. A resposta incluirá:

  • customPostCount: O número total de posts que contêm o bloco
  • customPosts: Um array com todos os posts correspondentes e seus detalhes
Executando a query GraphQL
Executando a query GraphQL

Exemplo de resposta

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

Clique em qualquer link wpAdminEditURL para abrir diretamente esse post no editor do WordPress. Em seguida, acesse cada post e substitua o bloco problemático por uma alternativa traduzível.