WPML
Статус
Ожидается ответ автора
Связанный плагин/тема
WP Offload Media
Теги темы
Compatibility

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

Если Вы используете WP Offload Media вместе с WPML Media Translation, замена переведенного изображения может сгенерировать неверный путь к файлу S3. Эта проблема возникает, когда переведенное изображение заменяется после того, как исходный перевод был загружен в другом месяце или году.

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

Перед продолжением обязательно сделайте полную резервную копию сайта.

Вариант 1


Перейдите в библиотеку медиафайлов, используйте параметр «Remove from Bucket» и вручную замените его новым изображением.

Вариант 2


В качестве альтернативы Вы можете попробовать следующее, но в бакете могут остаться потерянные объекты:

  • Откройте …/amazon-s3-and-cloudfront-pro/classes/pro/integrations/wpml.php

  • Замените:
    	public function setup() {
    		add_action( 'wpml_media_create_duplicate_attachment', array( $this, 'duplicate_offloaded_item' ), 10, 2 );
    	}


  • На:
    	public function setup() {
    		add_action( 'wpml_media_create_duplicate_attachment', array( $this, 'duplicate_offloaded_item' ), 10, 2 );
    		add_action( 'wpml_updated_attached_file', array( $this, 'delete_offloaded_item_on_media_replace' ), 10, 3 );
    	}
    
    	public function delete_offloaded_item_on_media_replace( $attachment_id, $file, $language ) {
    		$as3cf_item = Media_Library_Item::get_by_source_id( $attachment_id );
    
    		if ( $as3cf_item ) {
    			$as3cf_item->delete();
    		}
    	}

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