- Статус
- Открыто
- Заявлено для
- WPML Multilingual CMS 4.5.11
- Теги темы
- Bug
Обзор проблемы
Вы заметите, что основной URL одного из Ваших языков также используется для изображений в Ваших переведенных языках.
Изображения по-прежнему будут корректно отображаться на всех языках.
Тем не менее, в некоторых случаях Вы можете столкнуться с проблемами CORS, из-за которых изображение не будет отображаться.
Эта проблема возникнет только в том случае, если Вы используете свой домен для каждого языка.
Обходное решение
Перед продолжением создайте полную резервную копию Вашего сайта:
- Найдите и отредактируйте следующий файл: wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-image-translate.php
- Найдите этот код:
public function get_translated_image( $attachment_id, $language, $size = null ) { $image_url = ''; $attachment = new WPML_Post_Element( $attachment_id, $this->sitepress ); $attachment_translation = $attachment->get_translation( $language ); if ( $attachment_translation ) { - Добавьте следующий код сразу после if ( $attachment_translation ) { :
do_action( 'wpml_switch_language', $language );
- Сохраните изменения.
- Воспользуйтесь одним из следующих способов:
Способ 1:
- Установите и активируйте WPML Media Translation
- Перейдите в WPML > Перевод медиафайлов
- Найдите одно из проблемных изображений
- измените один из переводов
- Внесите небольшое изменение в описание переведённого изображения
- Сохраните изменения
Способ 2:
- Перейдите в WPML > Настройки
- Прокрутите вниз до раздела «Translate Link Target»
- Нажмите кнопку «Применить»
- Дождитесь завершения процесса.