チュートリアル
チュートリアル特定のブロックを含む投稿を見つける

特定のブロックを含む投稿を見つける

プラグインで翻訳できないGutenbergブロックに遭遇することがあります(すべてのGutenbergブロックを翻訳できますか?を参照)。そのような場合は、そのブロックを含むすべての投稿を特定し、翻訳可能な別のブロックに移行する必要があります。

Gato AI Translations for Polylang は内部でGato GraphQLを実行しているため、GraphQLクエリを使ってコンテンツを便利に検索できます。

GraphQLクエリを実行するには、まず Advanced Mode を有効にして Queries CPTにアクセスする必要があります。Advanced Modeを有効にする手順については、ヘルパークエリの作成を参照してください。

GraphQLクエリの作成

WordPress管理メニューの Queries に移動し、新しいエントリを追加します。「Find posts containing a certain block」のような分かりやすいタイトルを付けてください。

次に、以下のGraphQLクエリを貼り付けます:

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

GraphQL変数の設定

クエリを実行する前に、blockName 変数を指定する必要があります。ブロック名は namespace/block-name の形式に従います。

たとえば、Yoast FAQブロックを含む投稿を検索するには、GraphQL変数を次のように設定します:

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

正確なブロック名を調べるには、Gutenbergエディターでブロックを確認するか、ブロックのドキュメントを参照してください。

クエリの実行

GraphQL変数を設定したら、クエリを実行します。レスポンスには以下が含まれます:

  • customPostCount: そのブロックを含む投稿の総数
  • customPosts: 一致するすべての投稿とその詳細の配列
GraphQLクエリの実行
GraphQLクエリの実行

レスポンス例

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

任意の wpAdminEditURL リンクをクリックすると、WordPressエディターでその投稿を直接開けます。次に各投稿に移動し、問題のあるブロックを翻訳可能な代替ブロックに置き換えてください。