- Статус
- Ожидается ответ автора
- Связанный плагин/тема
- 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(); } }