- 状态
- 等待作者
- 相关插件/主题
- 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(); } }