Tutorials
TutorialsOntdek welke berichten een bepaald blok bevatten

Ontdek welke berichten een bepaald blok bevatten

Soms kom je een Gutenberg-blok tegen dat niet vertaald kan worden door de plugin (zie Kunnen alle Gutenberg-blokken worden vertaald?). In dergelijke gevallen moet je alle berichten identificeren die dat blok bevatten, zodat je ze kunt migreren naar een ander, vertaalbaar blok.

Omdat Gato AI Translations for Polylang onder de motorkap gebruikmaakt van Gato GraphQL, kun je eenvoudig GraphQL queries uitvoeren om door je content te zoeken.

Om GraphQL queries uit te voeren, moet je eerst de Advanced Mode inschakelen en toegang krijgen tot het Queries CPT. Zie Helpende queries aanmaken voor instructies over hoe je Advanced Mode inschakelt.

De GraphQL query aanmaken

Navigeer naar Queries in je WordPress-beheermenu en voeg een nieuw item toe. Geef het een beschrijvende titel zoals "Find posts containing a certain block".

Plak vervolgens de volgende GraphQL 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
  }
}

De GraphQL-variabelen instellen

Voordat je de query uitvoert, moet je de variabele blockName opgeven. De bloknaam volgt het formaat namespace/block-name.

Om bijvoorbeeld berichten te vinden die het Yoast FAQ-blok bevatten, stel je de GraphQL-variabelen in op:

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

Om de exacte bloknaam te vinden, kun je het blok inspecteren in de Gutenberg-editor of de documentatie van het blok raadplegen.

De query uitvoeren

Na het instellen van de GraphQL-variabelen voer je de query uit. De respons bevat:

  • customPostCount: Het totale aantal berichten dat het blok bevat
  • customPosts: Een array van alle overeenkomende berichten met hun details
De GraphQL query uitvoeren
De GraphQL query uitvoeren

Voorbeeldrespons

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

Klik op een willekeurige wpAdminEditURL-link om dat bericht direct te openen in de WordPress-editor. Ga vervolgens naar elk bericht en vervang het problematische blok door een vertaalbaar alternatief.