Записи не переводятся
Если ваши пользовательские записи не переводятся, просмотрите логи, чтобы найти запись об ошибке или предупреждении, объясняющую проблему.
Для решения проблемы может потребоваться настроить параметры в соответствии с вашими потребностями или, возможно, пересоздать запись, если она содержит устаревшие или повреждённые данные.
Наиболее распространённые причины и их решения приведены ниже:
Записи перевода отсутствуют
Если вы видите предупреждение следующего вида:
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....это означает, что записи перевода для ваших пользовательских записей не были созданы (до запуска перевода).
В настройках плагина в разделе General Configuration проверьте, включена ли опция Automatic creation of translation entries для данного CPT:

Если нет, и данный CPT использует wp_insert_post для создания записей, включите эту опцию.
В противном случае необходимо сначала создать записи перевода с помощью Polylang (нажав на ссылку +), а затем запустить перевод.
Записи перевода имеют неожиданный статус
Если вы видите предупреждение следующего вида:
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....это означает, что записи перевода имеют статус, отличный от настроенного в параметрах плагина.
Например, если параметр Status to update установлен в draft, а записи перевода имеют статус publish, перевод не будет создан.
В настройках плагина в разделе General Configuration проверьте, установлен ли параметр Status to update в ожидаемый статус:

В противном случае измените статус записей перевода соответствующим образом.
Запись содержит устаревшие или повреждённые данные
Если вы видите предупреждение следующего вида:
Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 There are no custom posts to translate...и запись в логе показывает, что, несмотря на наличие записи перевода у данной записи, она не распознаётся, значит запись может содержать устаревшие или повреждённые данные, которые необходимо удалить.
Например, проверьте «Additional context» в этой записи лога:
{
"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
}
}
}В приведённом примере исходная запись на английском языке с ID 16597 ("id": 16597, "polylangLanguageLocale": { "code": "en" }) имеет запись перевода на испанском с ID 16613 ("customPostIDTranslationCustomPostIDLanguageIDs": { "es": 16613 }), однако она не распознаётся ("hasTranslationCustomPosts": false).
В данном случае запись перевода с ID 16613 больше не существует, но связь Polylang в записи с ID 16597 с этой записью не была удалена.
Из-за этих устаревших или повреждённых данных плагин не может перевести запись.
Для решения проблемы необходимо пересоздать исходную запись и перевести её. Затем удалите повреждённую запись перевода.