Résumé de la version
Version : 2.11.0
Module ajouté : Media Replacement
Objectif : remplacer n’importe quel fichier média par une nouvelle version tout en conservant l’ID du média, le nom de fichier et la date de publication — vos URLs, intégrations et liens existants continuent de fonctionner.
Pourquoi ce module est important
Mettre à jour un PDF, un logo, une image produit ou une police sans casser les pages qui y font référence est un vrai casse-tête sous WordPress. Le module Media Replacement résout ce problème : vous uploadez la nouvelle version, nous remplaçons le fichier au même emplacement, puis nous régénérons les tailles et mettons à jour les métadonnées. Résultat : aucune 404, aucun lien à corriger, aucun contenu à rééditer.
Ce qui change concrètement
- Remplacement “in place” : copie du nouveau fichier par-dessus l’ancien chemin (
get_attached_file()). - Conservation des références : même ID, slug/nouveau nom identique, date et permalinks.
- Contrôle strict du type de fichier : le mimetype doit correspondre (image ↔ image, PDF ↔ PDF, etc.) pour éviter les incohérences.
- Régénération automatique :
wp_generate_attachment_metadata()+wp_update_attachment_metadata()pour reconstruire toutes les subsizes (thumbnails, medium, large, etc.). - Nettoyage fiabilisé : suppression des anciennes variantes via
wp_delete_attachment_files()et suppression forcée du fichier si nécessaire (y compris les images -scaled).
Parcours utilisateur (en 3 clics)
- Bibliothèque de médias → survolez un élément et cliquez Replace media (action de ligne)
(présent aussi dans la sidebar de la page de pièce jointe et dans la modale des médias) - Glissez-déposez ou sélectionnez le fichier de remplacement.
- Le module affiche Type, Taille et — pour les images — Dimensions de l’ancien et du nouveau fichier.
- Des garde-fous UI vérifient taille max du site et mimetype identique.
- Cliquez Replace. Le remplacement est instantané et vos pages restent intactes.
Détails techniques (pour les curieux)
- Hooks & UI
media_row_actions: ajoute l’action Replace media dans la liste.attachment_fields_to_edit&attachment_submitbox_misc_actions: bouton dans la fiche média + modale.- Un submenu caché sous
upload.phpgère l’UI dédiée (prévisualisation avant/après).
- Sécurité
- Nonce spécifique au module sur chaque action.
wp_check_filetype_and_ext()+ blocage si le type diffère (sauf rôle avecunfiltered_upload).- Validation des entrées (
sanitize_text_field,is_uploaded_file, gestion d’erreurs upload).
- Remplacement & nettoyage
- Suppression des fichiers existants (y compris tailles et backups) puis copie du nouveau fichier au même chemin.
- Gestion des cas “-scaled” et protections de plugins multilingues (ex. fichiers verrouillés) avec une suppression dure en fallback.
- Performance & philosophie WPMTK
- Comme tous les modules WPMTK : chargé uniquement s’il est activé.
Cas d’usage typiques
- PDF : mise à jour d’une brochure sans changer l’URL partagée aux clients.
- Logo/charte : rafraîchir un logo globalement utilisé (header, footers, builders) sans éditer les pages.
- Images e-commerce : ajuster une photo produit référencée dans des centaines de fiches.
- Fonts/ICONS : remplacer un fichier statique référencé par thème ou builder.
Limites & bonnes pratiques
- Mimetype strict : on ne peut pas remplacer un JPEG par un PNG (ou un PDF par un DOCX). Conservez le même type.
- Taille maximale : respect de la limite d’upload du site (vérifiée en UI).
- Cache : si un CDN est en place, purgez/attendez la propagation pour voir la nouvelle version partout.
- Dimensions d’images : si vous changez radicalement les dimensions, l’aspect peut varier là où l’image est intégrée. Vérifiez vos modèles.
Guide éclair (pas à pas)
- Medias → choisissez le média → Replace media.
- Uploadez un fichier du même type.
- Vérifiez l’aperçu, la taille et (si image) les dimensions.
- Validez : Replace. Les miniatures sont régénérées automatiquement.
Notes de sécurité & compatibilité
- Nonces systématiques et validation serveur sur toutes les actions.
- Compatible Media Library (liste, modale, fiche) et admin natif.
- Conçu pour cohabiter avec plugins multilingues et tailles personnalisées.
Conclusion
Cette version 2.11.0 apporte une mise à jour majeure côté UX et maintenance : fin des URLs cassées lors des remplacements de fichiers. Activez le module Media Replacement et mettez à jour vos médias en toute sécurité, sans frictions et sans dette technique.