WPML
Trạng thái
Đang mở
Được báo cáo cho
WPML Media Translation 2.7.0

Tổng quan về lỗi

Ngay cả sau khi tắt tất cả các tùy chọn phương tiện trong phần Cách xử lý phương tiện cho nội dung mới tại WPML Cài đặt Dịch phương tiện, phương tiện trên trang web của bạn vẫn sẽ bị nhân bản khi bạn thêm một ngôn ngữ mới.

Giải pháp tạm thời

Vui lòng tạo một bản sao lưu đầy đủ cho trang web của bạn trước khi tiếp tục:


  1. Mở tệp wp-content/plugins/sitepress-multilingual-cms/classes/media/Loader.php.

Thay đổi từ:
	public static function getData() {
		return [
			'name' => 'media_setup',
			'data' => [
				'endpoints' => [
					'prepareForTranslation'   => PrepareForTranslation::class,
					'translateExistingMedia'  => TranslateExistingMedia::class,
					'duplicateFeaturedImages' => DuplicateFeaturedImages::class,
					'finishMediaTranslation'  => FinishMediaTranslation::class,
					'prepareForSetup'         => PrepareSetup::class,
					'performSetup'            => PerformSetup::class,
				]
			]
		];
	}
}

Thành:

	public static function getData() {
		$media_handling = get_transient( 'media_handling' );
		if ( ! $media_handling ) {
			$check = get_option( '_wpml_media' );
			if ( $check["new_content_settings"]["duplicate_media"] ) {
				return [
					'name' => 'media_setup',
					'data' => [
						'endpoints' => [
							'prepareForTranslation'   => PrepareForTranslation::class,
							'translateExistingMedia'  => TranslateExistingMedia::class,
							'duplicateFeaturedImages' => DuplicateFeaturedImages::class,
							'finishMediaTranslation'  => FinishMediaTranslation::class,
							'prepareForSetup'         => PrepareSetup::class,
							'performSetup'            => PerformSetup::class,
						]
					]
				];

				}
			set_transient('media_handling', true, DAY_IN_SECONDS);
		} else {
			return [
				'name' => 'media_setup',
				'data' => [
					'endpoints' => [
						'prepareForTranslation'   => PrepareForTranslation::class,
						'duplicateFeaturedImages' => DuplicateFeaturedImages::class,
						'finishMediaTranslation'  => FinishMediaTranslation::class,
						'prepareForSetup'         => PrepareSetup::class,
						'performSetup'            => PerformSetup::class,
					]
				]
			];
		}
	}
}

Lưu ý:
Mã này sẽ không xóa các hình ảnh đã bị nhân bản, nó chỉ ngăn chặn quá trình nhân bản khi tạo một ngôn ngữ mới.

Tất cả các lỗi đã ghi nhận →