Créer des requêtes d'aide
Lorsque vous travaillez avec des traductions, vous pouvez rencontrer diverses situations où vous avez besoin d'identifier, d'analyser ou de traiter du contenu spécifique sur votre site. Par exemple :
- Trouver des articles contenant un bloc Gutenberg spécifique qui ne peut pas être traduit
- Identifier des articles avec des données corrompues ou malformées
- Localiser du contenu nécessitant une révision manuelle ou une migration
- Récupérer des listes d'articles, de pages ou d'autres types de contenu pour des opérations par lots
Comme Gato AI Translations for Polylang exécute Gato GraphQL sous le capot, vous pouvez utiliser cet outil de manière pratique pour créer des requêtes GraphQL personnalisées afin de rechercher, filtrer et récupérer des informations de votre site WordPress.
Activer le Mode Avancé
Pour exécuter des requêtes GraphQL, vous devez d'abord activer le Mode Avancé dans les Réglages du plugin.
Allez dans Réglages > Configuration du Plugin > Utilisation Avancée et sélectionnez Activer le Mode Avancé :

Une fois activé, le type d'article personnalisé Queries sera disponible dans votre menu d'administration WordPress :

Naviguez jusqu'à Queries dans votre menu d'administration WordPress et ajoutez une nouvelle entrée. Donnez-lui un titre descriptif qui indique clairement ce que fait la requête.
Exemples
Trouver des articles contenant un bloc spécifique
Un cas d'utilisation courant est d'identifier les articles contenant un bloc Gutenberg spécifique qui ne peut pas être traduit. Cette requête vous aide à localiser tous les articles qui doivent être migrés vers un bloc différent et traduisible.
Créez une nouvelle entrée avec le titre Find posts containing a certain block et utilisez cette requête :
query FindPostsContainingBlock(
$blockName: String!
) {
customPostCount(
filter: {
status: any,
search: $blockName
}
)
customPosts(
filter: {
status: any,
search: $blockName
},
pagination: { limit: -1 }
) {
id
title
customPostType
url
wpAdminEditURL
}
}Notez que nous pouvons fournir des variables à la requête, afin de pouvoir la réutiliser pour différents blocs.
Par exemple, pour trouver les articles contenant le bloc FAQ de Yoast, définissez les variables GraphQL comme suit :
{
"blockName": "yoast/faq-block"
}Puis exécutez la requête :

Dans la réponse, vous pouvez voir la liste des articles contenant le bloc FAQ de Yoast. Cliquer sur n'importe quelle url ouvrira l'article en frontend, ou cliquer sur n'importe quel lien wpAdminEditURL ouvrira l'article dans l'éditeur 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"
}
]
}
}Corriger les erreurs de données corrompues
Un autre cas d'utilisation courant est la correction d'erreurs de données corrompues.
Par exemple, si un élément média a une référence parent inexistante, le plugin ne pourra pas traduire le contenu. Vous pouvez corriger cela en supprimant la référence parent.
Créez une nouvelle entrée avec le titre Remove parent reference from media item et utilisez cette requête :
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Par exemple, pour corriger l'erreur de données corrompues pour l'élément média avec l'ID 26066, définissez les variables GraphQL comme suit :
{
"mediaItemID": 26066
}Et exécutez la requête.