- Statut
- Ouvert
- Signalé pour
- WPML Media Translation 2.7.0
Aperçu de l’anomalie
Même après avoir désactivé toutes les options de médias sous Comment gérer les médias pour le nouveau contenu dans WPML → Paramètres → Traduction des médias, les médias de votre site seront toujours dupliqués lorsque vous ajoutez une nouvelle langue.
Solution de contournement
Veuillez effectuer une sauvegarde complète de votre site avant de continuer :
- Ouvrez le fichier wp-content/plugins/sitepress-multilingual-cms/classes/media/Loader.php.
Remplacez :
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,
]
]
];
}
}
Par :
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,
]
]
];
}
}
}
Remarque :
Ce code ne supprimera pas les images dupliquées, il empêchera simplement le processus de duplication lors de la création d’une nouvelle langue.