教程查找包含特定区块的文章
查找包含特定区块的文章
有时您可能会遇到插件无法翻译的 Gutenberg 区块(请参阅所有 Gutenberg 区块都可以翻译吗?)。在这种情况下,您需要找出所有包含该区块的文章,以便将其迁移到另一个可翻译的区块。
由于 Gato AI Translations for Polylang 在底层运行 Gato GraphQL,您可以方便地执行 GraphQL queries 来搜索您的内容。
要执行 GraphQL queries,您必须先启用 Advanced Mode 并访问 Queries CPT。请参阅创建辅助 Queries 了解如何启用 Advanced Mode 的说明。
创建 GraphQL Query
在 WordPress 管理菜单中导航至 Queries,并添加一个新条目。给它起一个描述性标题,例如"Find posts containing a certain block"。
然后,粘贴以下 GraphQL 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
}
}设置 GraphQL 变量
在执行 query 之前,您需要提供 blockName 变量。区块名称遵循 namespace/block-name 的格式。
例如,要查找包含 Yoast FAQ 区块的文章,请将 GraphQL 变量设置为:
{
"blockName": "yoast/faq-block"
}要找到确切的区块名称,您可以在 Gutenberg 编辑器中检查该区块,或查阅该区块的文档。
执行 Query
设置 GraphQL 变量后,执行 query。响应将包含:
customPostCount:包含该区块的文章总数customPosts:所有匹配文章及其详细信息的数组

响应示例
{
"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 编辑器中打开该文章。然后依次访问每篇文章,将有问题的区块替换为可翻译的替代区块。