WPML
الحالة
مفتوحة
أُبلغ عنها لـ
WPML Media Translation 2.7.0

نظرة عامة على المشكلة

حتى بعد تعطيل جميع خيارات الوسائط ضمن كيفية التعامل مع الوسائط للمحتوى الجديد في WPML إعدادات ترجمة الوسائط، سيستمر تكرار وسائط موقعك عند إضافة لغة جديدة.

حل بديل مؤقت

يرجى أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة:


  1. افتح الملف wp-content/plugins/sitepress-multilingual-cms/classes/media/Loader.php.

غيّر من:
	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,
				]
			]
		];
	}
}

إلى:

	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,
					]
				]
			];
		}
	}
}

يرجى ملاحظة:
هذا الكود لن يحذف الصور المكررة، بل سيمنع فقط عملية التكرار عند إنشاء لغة جديدة.

جميع المشاكل المعروفة →