Avancé
AvancéCréer des requêtes d'aide

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é :

Activation du mode avancé
Activation du mode avancé

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

CPT Queries activé
CPT Queries activé

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 :

Exécution de la requête GraphQL
Exécution de la requête GraphQL

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.