✨ Jusqu’à
-70%
sur la 1ère année
Jours
Heures
Minutes
Secondes

Media Replacement — Remplacer un média WordPress sans casser vos liens

Introduction

On a tous connu ça : une image mal retouchée, un PDF obsolète, une vidéo compressée trop fort… mais déjà insérés partout sur le site. Supprimer puis réimporter casse les URLs, les pages restent avec des liens morts, et l’ID du média change.
Le module Media Replacement de WPMasterToolKit règle ce problème : il remplace le fichier source d’un média sans changer son ID, son nom de fichier ni sa date de publication. Résultat : toutes les URLs et intégrations restent valides.

Quels plugins ce module peut remplacer ?

Pertinent si vous utilisiez un plugin dédié du type “Enable Media Replace”. Ce module offre la même logique (remplacement in-place) mais intégré nativement dans WPMasterToolKit, sans plugin supplémentaire.

Ce que fait exactement le module

  • Remplacement in-place : copie votre nouveau fichier par-dessus le fichier existant sur le disque.
  • Identité conservée : ID, slug/nom de fichier et date du média restent identiques — donc aucune URL ne change.
  • Miniatures régénérées : après remplacement, le module relance wp_generate_attachment_metadata() pour recréer toutes les sous-tailles (thumbnails).
  • Vérification stricte du type : le nouveau fichier doit avoir le même MIME type (ex. JPG → JPG, PDF → PDF). Cela évite les incohérences et problèmes d’intégration.
  • Aperçu visuel : une interface côté admin permet de voir les infos “Actuel” vs “Nouveau” (type, taille, largeur/hauteur pour les images) avant validation.
  • Nettoyage fiable des anciens fichiers : suppression des fichiers et sous-tailles existants, y compris le cas des images -scaled. Si un plugin (ex. multilingue) bloque la suppression, un “hard delete” s’assure d’effacer les restes.
  • Intégration naturelle dans l’admin :
    • Bouton “Replace media” dans les actions de ligne de la Médiathèque (liste).
    • Bouton dans la modale d’édition d’un média.
    • Bouton dans la boîte Publier (écran d’édition d’une pièce jointe).
    • Une page interne (sous Médias) gère l’upload et la confirmation — elle est masquée du menu pour rester accessible uniquement via les boutons d’action.

Détails UX côté administration

  • Interface claire avec deux colonnes : Actuel vs Nouveau.
  • Drag & drop ou clic pour sélectionner le fichier.
  • Validation immédiate côté JS (poids max du site, type identique), avec messages localisés.
  • Bouton “Replace” désactivé tant que les validations ne passent pas.

Scénarios et limites à connaître

  • Même type obligatoire : vous ne pouvez pas remplacer un PNG par un JPG. Garder le même format garantit 0 casse.
  • Nom de fichier conservé : c’est voulu pour garder exactement la même URL.
  • CDN / cache : après remplacement, pensez à purger le cache si vous utilisez un CDN ou une mise en cache agressive.
  • Dimensions : si vous importez une image plus grande/petite, les miniatures seront régénérées en conséquence (selon vos tailles d’images WordPress/thème).
  • Permissions : accessible aux rôles ayant upload_files.
  • Sécurité : tout est protégé par nonce et contrôles sur le fichier uploadé (is_uploaded_file, types autorisés, taille max de WordPress).

Comment utiliser ce module

  1. Allez dans MédiasBibliothèque.
  2. Sur la ligne du média à remplacer, cliquez Replace media (ou ouvrez la fiche du média et cliquez le même bouton).
  3. Glissez-déposez le nouveau fichier (même type que l’original).
  4. Vérifiez les infos dans l’aperçu “New”.
  5. Cliquez Replace.
    C’est tout : l’URL ne change pas, le site continue de pointer sur le même ID, mais avec le fichier mis à jour.

Nos choix techniques (et pourquoi)

  • Conserver ID/chemin : on copie le nouveau fichier sur le chemin d’origine (copy() → même nom, même emplacement). C’est la seule façon d’assurer que tous les liens restent valides.
  • Validation stricte du MIME : comparaison entre le MIME d’origine et celui du nouveau fichier via wp_check_filetype_and_ext() et get_post_mime_type() pour éviter les surprises (embed, players, balises HTML, etc.).
  • Nettoyage robuste : on utilise wp_delete_attachment_files() avec métadonnées et tailles de backup, puis un fallback de suppression physique si nécessaire (cas d’images -scaled ou de plugins multilingues).
  • Régénération des métadonnées : wp_generate_attachment_metadata() + wp_update_attachment_metadata() pour recréer toutes les sous-tailles dans la foulée du remplacement — pas besoin d’outil tiers.
  • Expérience admin : boutons ajoutés via :
    • media_row_actions
    • attachment_fields_to_edit (pour la modale)
    • attachment_submitbox_misc_actions (écran d’édition)
      Une page de sous-menu masquée est chargée à la demande pour afficher l’UI de remplacement, avec assets dédiés (CSS/JS) et chaînes localisées.
  • Sécurité & capacités :
    • Accès restreint via upload_files.
    • Nonce spécifique au module pour toutes les URLs et formulaires.
    • Contrôles is_uploaded_file, gestion des erreurs d’upload, et respect de wp_max_upload_size() (via JS localisé).
  • Performance : chargement conditionnel des assets uniquement sur la page de remplacement. Si le module n’est pas activé, rien n’est chargé.
Découvrir le module :
Gratuit
Pro
1 site
3.50$
/Mois
14
Jours
Garantie de remboursement
sans risque à 100 % !

Conclusion

Le module Media Replacement de WPMasterToolKit rend le remplacement d’un média sûr, rapide et sans effet de bord : même ID, même URL, même date, mais fichier mis à jour et miniatures régénérées. Fini les liens cassés et la gymnastique de réimportation. C’est l’outil idéal pour maintenir des bibliothèques médias propres et à jour, en toute confiance.