סקירת התקלה
גם לאחר השבתת כל אפשרויות המדיה תחת כיצד לטפל במדיה עבור תוכן חדש ב־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,
]
]
];
}
}
}שים לב:
קוד זה לא ימחק את התמונות המשוכפלות, הוא רק ימנע את תהליך השכפול בעת יצירת שפה חדשה.