- สถานะ
- เปิด
- รายงานสำหรับ
- WPML Media Translation 2.7.0
ภาพรวมของปัญหา
แม้หลังจากปิดการใช้งานตัวเลือกสื่อทั้งหมดภายใต้วิธีจัดการสื่อสำหรับเนื้อหาใหม่ที่ WPML → การตั้งค่า → การแปลสื่อ สื่อบนไซต์ของคุณจะยังคงถูกทำสำเนาเมื่อคุณเพิ่มภาษาใหม่
วิธีแก้ปัญหาชั่วคราว
โปรดสำรองข้อมูลทั้งหมดของไซต์ของคุณก่อนดำเนินการต่อ:
- เปิดไฟล์ 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,
]
]
];
}
}
}
โปรดทราบ:
โค้ดนี้จะไม่ลบรูปภาพที่ถูกทำสำเนา แต่จะช่วยป้องกันกระบวนการทำสำเนาเมื่อสร้างภาษาใหม่เท่านั้น