Tạo Queries Hỗ Trợ
Khi làm việc với bản dịch, bạn có thể gặp nhiều tình huống khác nhau cần xác định, phân tích hoặc xử lý nội dung cụ thể trên trang web của mình. Ví dụ:
- Tìm các bài viết chứa một khối Gutenberg cụ thể không thể dịch được
- Xác định các bài viết có dữ liệu bị hỏng hoặc không hợp lệ
- Định vị nội dung cần xem xét thủ công hoặc di chuyển
- Truy xuất danh sách bài viết, trang hoặc các loại nội dung khác cho các thao tác hàng loạt
Vì Gato AI Translations for Polylang chạy Gato GraphQL bên dưới, bạn có thể thuận tiện sử dụng công cụ này để tạo các queries GraphQL tùy chỉnh nhằm tìm kiếm, lọc và truy xuất thông tin từ trang WordPress của mình.
Bật Chế Độ Nâng Cao
Để thực thi các queries GraphQL, trước tiên bạn phải bật Chế Độ Nâng Cao trong Cài đặt plugin.
Đi tới Cài đặt > Cấu hình Plugin > Sử dụng Nâng cao và chọn Bật Chế Độ Nâng Cao:

Sau khi bật, loại bài viết tùy chỉnh Queries sẽ có sẵn trong menu quản trị WordPress của bạn:

Điều hướng đến Queries trong menu quản trị WordPress của bạn và thêm một mục mới. Đặt cho nó một tiêu đề mô tả rõ ràng những gì query thực hiện.
Ví dụ
Tìm Bài Viết Chứa Một Khối Cụ Thể
Một trường hợp sử dụng phổ biến là xác định các bài viết chứa một khối Gutenberg cụ thể không thể dịch được. Query này giúp bạn định vị tất cả các bài viết cần được di chuyển sang một khối khác có thể dịch được.
Tạo một mục mới với tiêu đề Find posts containing a certain block và sử dụng query này:
query FindPostsContainingBlock(
$blockName: String!
) {
customPostCount(
filter: {
status: any,
search: $blockName
}
)
customPosts(
filter: {
status: any,
search: $blockName
},
pagination: { limit: -1 }
) {
id
title
customPostType
url
wpAdminEditURL
}
}Lưu ý rằng chúng ta có thể cung cấp biến cho query, để có thể tái sử dụng nó cho các khối khác nhau.
Ví dụ, để tìm các bài viết chứa khối FAQ của Yoast, hãy đặt các biến GraphQL thành:
{
"blockName": "yoast/faq-block"
}Sau đó thực thi query:

Từ kết quả phản hồi, bạn có thể thấy danh sách các bài viết chứa khối FAQ của Yoast. Nhấp vào bất kỳ url nào sẽ mở bài viết ở giao diện người dùng, hoặc nhấp vào bất kỳ liên kết wpAdminEditURL nào sẽ mở bài viết trong trình chỉnh sửa 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"
}
]
}
}Sửa Lỗi Dữ Liệu Bị Hỏng
Một trường hợp sử dụng phổ biến khác là sửa các lỗi dữ liệu bị hỏng.
Ví dụ, nếu một mục phương tiện có tham chiếu đến thư mục gốc không tồn tại, plugin sẽ không thể dịch nội dung. Bạn có thể khắc phục điều này bằng cách xóa tham chiếu thư mục gốc đó.
Tạo một mục mới với tiêu đề Remove parent reference from media item và sử dụng query này:
mutation RemoveParentReferenceFromMediaItem($mediaItemID: ID!) {
updateMediaItem( input: { id: $mediaItemID, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Ví dụ, để sửa lỗi dữ liệu bị hỏng cho mục phương tiện có ID 26066, hãy đặt các biến GraphQL thành:
{
"mediaItemID": 26066
}Và thực thi query.