WPML
Статус
Открыто
Заявлено для
WPML Multilingual CMS 4.5.11
Теги темы
Bug

Обзор проблемы

Вы заметите, что основной URL одного из Ваших языков также используется для изображений в Ваших переведенных языках.

Изображения по-прежнему будут корректно отображаться на всех языках.

Тем не менее, в некоторых случаях Вы можете столкнуться с проблемами CORS, из-за которых изображение не будет отображаться.

Эта проблема возникнет только в том случае, если Вы используете свой домен для каждого языка.

 

Обходное решение

Перед продолжением создайте полную резервную копию Вашего сайта:


  1. Найдите и отредактируйте следующий файл: wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-image-translate.php

  2. Найдите этот код:
    	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 ) {


  3. Добавьте следующий код сразу после if ( $attachment_translation ) { :
    do_action( 'wpml_switch_language', $language );


  4. Сохраните изменения.

  5. Воспользуйтесь одним из следующих способов:

 

Способ 1:


  • Установите и активируйте WPML Media Translation

  • Перейдите в WPML > Перевод медиафайлов

  • Найдите одно из проблемных изображений

  • измените один из переводов

  • Внесите небольшое изменение в описание переведённого изображения

  • Сохраните изменения

Способ 2:


  • Перейдите в WPML > Настройки

  • Прокрутите вниз до раздела «Translate Link Target»

  • Нажмите кнопку «Применить»

  • Дождитесь завершения процесса.

Все известные проблемы →