การสร้าง Helper Queries
เมื่อทำงานกับการแปล คุณอาจพบสถานการณ์ต่างๆ ที่ต้องระบุ วิเคราะห์ หรือประมวลผลเนื้อหาเฉพาะทั่วทั้งเว็บไซต์ของคุณ ตัวอย่างเช่น:
- ค้นหาโพสต์ที่มี Gutenberg block เฉพาะที่ไม่สามารถแปลได้
- ระบุโพสต์ที่มีข้อมูลเสียหายหรือไม่ถูกต้อง
- ค้นหาเนื้อหาที่ต้องตรวจสอบด้วยตนเองหรือต้องย้ายข้อมูล
- ดึงรายการโพสต์ เพจ หรือประเภทเนื้อหาอื่นๆ สำหรับการดำเนินการแบบกลุ่ม
เนื่องจาก Gato AI Translations for Polylang รัน Gato GraphQL ภายใต้ฝากระโปรง คุณจึงสามารถใช้เครื่องมือนี้สร้าง GraphQL queries แบบกำหนดเองเพื่อค้นหา กรอง และดึงข้อมูลจากเว็บไซต์ WordPress ของคุณได้อย่างสะดวก
การเปิดใช้งาน Advanced Mode
ในการรัน GraphQL queries คุณต้องเปิดใช้งาน Advanced Mode ในการตั้งค่าปลั๊กอินก่อน
ไปที่ Settings > Plugin Configuration > Advanced Use และเลือก Enable the Advanced Mode:

เมื่อเปิดใช้งานแล้ว ประเภทโพสต์แบบกำหนดเอง Queries จะพร้อมใช้งานในเมนูผู้ดูแลระบบ WordPress ของคุณ:

ไปที่ Queries ในเมนูผู้ดูแลระบบ WordPress ของคุณ แล้วเพิ่มรายการใหม่ ตั้งชื่อที่สื่อความหมายซึ่งระบุชัดเจนว่า query นั้นทำอะไร
ตัวอย่าง
ค้นหาโพสต์ที่มี Block เฉพาะ
กรณีใช้งานทั่วไปคือการระบุโพสต์ที่มี Gutenberg block เฉพาะที่ไม่สามารถแปลได้ query นี้ช่วยให้คุณค้นหาโพสต์ทั้งหมดที่ต้องย้ายไปยัง block อื่นที่สามารถแปลได้
สร้างรายการใหม่ด้วยชื่อ Find posts containing a certain block และใช้ 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
}
}สังเกตว่าเราสามารถส่งตัวแปรให้กับ query ได้ เพื่อให้นำไปใช้ซ้ำกับ block ต่างๆ ได้
ตัวอย่างเช่น หากต้องการค้นหาโพสต์ที่มี Yoast FAQ block ให้ตั้งค่า GraphQL variables เป็น:
{
"blockName": "yoast/faq-block"
}จากนั้นรัน query:

จาก response คุณจะเห็นรายการโพสต์ที่มี Yoast FAQ block การคลิกที่ url ใดๆ จะเปิดโพสต์ในส่วนหน้า หรือการคลิกที่ลิงก์ wpAdminEditURL ใดๆ จะเปิดโพสต์ใน WordPress editor
{
"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"
}
]
}
}แก้ไขข้อผิดพลาดข้อมูลเสียหาย
อีกกรณีใช้งานทั่วไปคือการแก้ไขข้อผิดพลาดข้อมูลเสียหาย
ตัวอย่างเช่น หาก media item มีการอ้างอิงถึง parent ที่ไม่มีอยู่จริง ปลั๊กอินจะไม่สามารถแปลเนื้อหาได้ คุณสามารถแก้ไขได้โดยการลบการอ้างอิง parent ออก
สร้างรายการใหม่ด้วยชื่อ Remove parent reference from media item และใช้ query นี้:
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}ตัวอย่างเช่น หากต้องการแก้ไขข้อผิดพลาดข้อมูลเสียหายสำหรับ media item ที่มี ID 26066 ให้ตั้งค่า GraphQL variables เป็น:
{
"mediaItemID": 26066
}จากนั้นรัน query