Hulp-queries aanmaken
Tijdens het werken met vertalingen kun je uiteenlopende situaties tegenkomen waarbij je specifieke content op je site moet identificeren, analyseren of verwerken. Bijvoorbeeld:
- Posts vinden die een bepaald Gutenberg-blok bevatten dat niet vertaald kan worden
- Posts identificeren met beschadigde of misvormde gegevens
- Content opsporen die handmatige controle of migratie vereist
- Lijsten van posts, pagina's of andere contenttypen ophalen voor batchbewerkingen
Omdat Gato AI Translations for Polylang gebruikmaakt van Gato GraphQL onder de motorkap, kun je dit hulpmiddel handig inzetten om aangepaste GraphQL queries te maken voor het zoeken, filteren en ophalen van informatie van je WordPress-site.
Geavanceerde modus inschakelen
Om GraphQL queries uit te voeren, moet je eerst de Geavanceerde modus inschakelen in de plugin-instellingen.
Ga naar Instellingen > Plugin-configuratie > Geavanceerd gebruik en selecteer Schakel de Geavanceerde modus in:

Zodra dit is ingeschakeld, wordt het aangepaste berichttype Queries beschikbaar in je WordPress-beheermenu:

Navigeer naar Queries in je WordPress-beheermenu en voeg een nieuw item toe. Geef het een beschrijvende titel die duidelijk aangeeft wat de query doet.
Voorbeelden
Posts vinden die een specifiek blok bevatten
Een veelvoorkomend gebruik is het identificeren van posts die een specifiek Gutenberg-blok bevatten dat niet vertaald kan worden. Deze query helpt je alle posts te vinden die naar een ander, vertaalbaar blok gemigreerd moeten worden.
Maak een nieuw item aan met de titel Find posts containing a certain block en gebruik deze 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
}
}Let op dat we variabelen aan de query kunnen meegeven, zodat we deze kunnen hergebruiken voor verschillende blokken.
Om bijvoorbeeld posts te vinden die het Yoast FAQ-blok bevatten, stel je de GraphQL-variabelen als volgt in:
{
"blockName": "yoast/faq-block"
}Voer daarna de query uit:

In het antwoord zie je de lijst met posts die het Yoast FAQ-blok bevatten. Door op een url te klikken open je de post in de frontend, of door op een wpAdminEditURL-link te klikken open je de post in de WordPress-editor.
{
"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"
}
]
}
}Fouten door beschadigde gegevens herstellen
Een ander veelvoorkomend gebruik is het herstellen van fouten door beschadigde gegevens.
Als een media-item bijvoorbeeld een verwijzing naar een niet-bestaande bovenliggende post heeft, zal de plugin er niet in slagen de content te vertalen. Je kunt dit oplossen door de bovenliggende verwijzing te verwijderen.
Maak een nieuw item aan met de titel Remove parent reference from media item en gebruik deze query:
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Om bijvoorbeeld de fout door beschadigde gegevens te herstellen voor het media-item met ID 26066, stel je de GraphQL-variabelen als volgt in:
{
"mediaItemID": 26066
}En voer de query uit.