Các bài viết không được dịch
Nếu các bài viết tùy chỉnh của bạn không được dịch, hãy xem nhật ký để tìm mục lỗi hoặc cảnh báo giải thích vấn đề.
Để giải quyết vấn đề, bạn có thể cần cấu hình Cài đặt theo nhu cầu của mình, hoặc có thể cần tạo lại bài viết nếu nó chứa dữ liệu cũ/bị hỏng.
Các nguyên nhân phổ biến nhất và giải pháp của chúng như sau:
Không tồn tại mục dịch nào
Nếu bạn thấy cảnh báo như sau:
Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 No custom post(s) was translated, because no translation entries exist. In the plugin Settings, enable the 'Automatic creation of translation entries' option for CPT 'post'; or otherwise, create those translation entries using Polylang (clicking on the '+' link), then trigger the translation....điều đó có nghĩa là các mục dịch cho bài viết tùy chỉnh của bạn chưa được tạo (trước khi kích hoạt bản dịch).
Trong Cài đặt plugin dưới General Configuration, hãy kiểm tra xem tùy chọn Automatic creation of translation entries có được bật cho CPT đó không:

Nếu không, và CPT đó sử dụng wp_insert_post để tạo mục, thì hãy bật tùy chọn đó.
Nếu không, bạn phải tạo các mục dịch đó bằng Polylang trước (nhấp vào liên kết +), sau đó kích hoạt bản dịch.
Các mục dịch không có trạng thái mong đợi
Nếu bạn thấy cảnh báo như sau:
Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 No custom post(s) was translated, because the translation entries (CPT: 'post', IDs: [48634]) do not have the expected status: 'draft'. If this is unintended, either update the and/or 'Status to synchronize' options in the plugin Settings, or change the status of the translation entries accordingly....điều đó có nghĩa là các mục dịch có trạng thái khác với trạng thái được cấu hình trong Cài đặt plugin.
Ví dụ, nếu tùy chọn Status to update được đặt thành draft, và các mục dịch có trạng thái publish, thì bản dịch sẽ không được tạo.
Trong Cài đặt plugin dưới General Configuration, hãy kiểm tra xem tùy chọn Status to update có được đặt thành trạng thái mong đợi không:

Nếu không, hãy thay đổi trạng thái của các mục dịch cho phù hợp.
Bài viết chứa dữ liệu cũ/bị hỏng
Nếu bạn thấy cảnh báo như sau:
Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 There are no custom posts to translate...và mục nhật ký cho thấy rằng, mặc dù bài viết có bài viết dịch, nhưng nó không nhận ra bài viết đó, thì bài viết có thể chứa dữ liệu cũ/bị hỏng cần được xóa bỏ.
Ví dụ, hãy kiểm tra "Additional context" trong mục nhật ký này:
{
"queryExecutionResponse": {
"data": {
"originCustomPosts": [
{
"__typename": "GenericCustomPost",
"id": 16597,
"polylangLanguageLocale": {
"code": "en"
},
"polylangLanguage": "en",
"originCustomPostHasDefaultLanguage": true,
"isTranslateFromLanguageProvided": true,
"originCustomPostHasSpecificLanguage": true,
"canTranslateOriginPostFromSpecificLanguage": true,
"canTranslateOriginPost": true,
"customPostIDTranslationCustomPostIDLanguageIDs": {
"es": 16613
},
"hasTranslationCustomPosts": true
}
],
"customPostIDTranslationCustomPostIds": {
"16597": [
16613
]
},
"translationCustomPostIdsList": [
[
16613
]
],
"translationCustomPostIds": [
16613
],
"translationCustomPostIdToCustomPostIDs": {
"16613": 16597
},
"emptyTranslationCustomPostVars": [],
"hasTranslationCustomPosts": false
}
}
}Trong ví dụ trên, bài viết gốc bằng tiếng Anh với ID 16597 ("id": 16597, "polylangLanguageLocale": { "code": "en" }) có bài viết dịch sang tiếng Tây Ban Nha với ID 16613 ("customPostIDTranslationCustomPostIDLanguageIDs": { "es": 16613 }), nhưng nó không nhận ra bài viết đó ("hasTranslationCustomPosts": false).
Trong trường hợp này, bài viết dịch với ID 16613 không còn tồn tại nữa, nhưng mối quan hệ Polylang trong bài viết với ID 16597 tới bài viết đó vẫn chưa được xóa.
Do dữ liệu cũ/bị hỏng này, plugin không thể dịch bài viết.
Để giải quyết vấn đề, bạn cần tạo lại bài viết gốc và dịch bài viết đó. Sau đó, hãy xóa bài viết dịch bị hỏng.