Tutoriels
TutorielsDécouvrir quels articles contiennent un bloc spécifique

Découvrir quels articles contiennent un bloc spécifique

Parfois, vous pouvez rencontrer un bloc Gutenberg que le plugin ne peut pas traduire (voir Tous les blocs Gutenberg peuvent-ils être traduits ?). Dans ce cas, vous devrez identifier tous les articles contenant ce bloc afin de pouvoir les migrer vers un bloc différent et traduisible.

Étant donné que Gato AI Translations for Polylang exécute Gato GraphQL en arrière-plan, vous pouvez facilement exécuter des queries GraphQL pour rechercher dans votre contenu.

Pour exécuter des queries GraphQL, vous devez d'abord activer le Advanced Mode et accéder au CPT Queries. Consultez Créer des queries d'aide pour les instructions sur la façon d'activer le Advanced Mode.

Créer la query GraphQL

Accédez à Queries dans le menu d'administration WordPress et ajoutez une nouvelle entrée. Donnez-lui un titre descriptif comme « Find posts containing a certain block ».

Ensuite, collez la query GraphQL suivante :

query FindPostsContainingBlock(
  $blockName: String!
) {
  customPostCount(
    filter: {
      status: any,
      search: $blockName
    }
  )
  customPosts(
    filter: {
      status: any,
      search: $blockName
    },
    pagination: { limit: -1 }
  ) {
    id
    title
    customPostType
    url
    wpAdminEditURL
  }
}

Définir les variables GraphQL

Avant d'exécuter la query, vous devez fournir la variable blockName. Le nom du bloc suit le format namespace/block-name.

Par exemple, pour trouver les articles contenant le bloc Yoast FAQ, définissez les variables GraphQL comme suit :

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

Pour trouver le nom exact du bloc, vous pouvez l'inspecter dans l'éditeur Gutenberg ou consulter la documentation du bloc.

Exécuter la query

Après avoir défini les variables GraphQL, exécutez la query. La réponse inclura :

  • customPostCount : Le nombre total d'articles contenant le bloc
  • customPosts : Un tableau de tous les articles correspondants avec leurs détails
Exécution de la query GraphQL
Exécution de la query GraphQL

Exemple de réponse

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

Cliquez sur n'importe quel lien wpAdminEditURL pour ouvrir directement cet article dans l'éditeur WordPress. Accédez ensuite à chaque article et remplacez le bloc problématique par une alternative traduisible.