- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.6.9
- Решено в
- WPML 4.9.3
- Теги темы
- Bug
Обзор проблемы
В некоторых случаях при использовании пользовательских шаблонов страниц выбранный шаблон некорректно применяется к переведенным страницам.
Обходное решение
Чтобы убедиться, что пользовательский шаблон страницы правильно применяется к переведенной странице, выполните следующие действия:
- Удалите соответствующие записи из таблиц
wp_postsиicl_translations.
- Переключитесь на дополнительный язык с помощью верхней админ-панели, затем перейдите в Внешний вид > Редактор, найдите переведенный шаблон и удалите его.
- В WPML > Настройки > URL-адрес страницы включите «Перевести» для перевода слагов (это гарантирует, что слаг шаблона будет включен в перевод, а не сгенерирован автоматически из заголовка).
- Откройте файл: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
- Примерно в строке 56 закомментируйте следующую строку:
$postData['post_name'] = $post->post_name;
- Отправьте шаблон на перевод повторно.
- При переводе шаблона убедитесь, что слаг указан верно и включает слаг переведенной страницы или таксономии.
Особый случай
Существует определенная последовательность, при которой переведенная страница может не связаться с переведенным шаблоном:
- Когда Вы создаете новый пользовательский шаблон непосредственно во время создания новой страницы (выбрав «Шаблон > Создать новый шаблон» на правой боковой панели), страница и ее шаблон публикуются одновременно.
- Если включен автоматический перевод («Переводить все»), WPML отправляет страницу и шаблон на перевод одновременно.
- Если перевод страницы завершается раньше перевода шаблона, переведенный шаблон еще не существует и не может быть назначен. Поэтому переведенная страница в итоге получает шаблон по умолчанию.
- Чтобы решить эту проблему, как только перевод шаблона будет завершен и опубликован, отправьте переведенную страницу на перевод повторно, чтобы она корректно получила новый переведенный шаблон.