Il existe de nombreux avantages à renommer automatiquement les images téléchargées sur votre site web. Tout d’abord, cela peut vous aider à organiser vos fichiers de manière plus efficace, en les nommant de manière significative et en les regroupant par date. En outre, cela peut également améliorer la sécurité de votre site, en évitant les conflits de nom et en rendant les fichiers moins facilement identifiables par des tiers malveillants.
Heureusement, il est facile de mettre en place une telle fonctionnalité sur votre site WordPress en utilisant un filtre de traitement de téléchargement préexistant.
Ajoutez le code ci-dessous dans votre fichier functions.php de votre thème enfant :
add_filter( 'wp_handle_upload_prefilter', 'custom_upload_name' );
function custom_upload_name( $file ){
$info = pathinfo( $file['name'] );
$ext = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
$site_name = get_bloginfo( 'name' ); // Récupère le nom du site
if( $site_name ){
$name = sanitize_title( $site_name );
}
$file['name'] = $name . '_' . date( 'Y-m-d' ) . $ext;
return $file;
}
Explication
Le code ci-dessus utilise un filtre spécifique appelé “wp_handle_upload_prefilter” pour renommer automatiquement les images téléchargées en utilisant le nom de votre site, suivi de la date actuelle.
La première étape consiste à ajouter le filtre de traitement de téléchargement préexistant à votre fichier functions.php. Cela peut être fait en utilisant la fonction “add_filter” fournie dans le code ci-dessus. Ensuite, vous devrez définir une fonction personnalisée pour gérer le traitement de téléchargement, en utilisant les paramètres fournis par le filtre.
Dans notre exemple, la fonction personnalisée s’appelle “custom_upload_name” et prend en paramètre un tableau contenant les informations sur le fichier téléchargé, appelé “$file”. La première chose que cette fonction fait est de récupérer les informations de chemin du fichier en utilisant la fonction “pathinfo”. Elle récupère également l’extension du fichier en utilisant l’index “extension” du tableau retourné par pathinfo.
Ensuite, la fonction utilise la fonction “get_bloginfo” pour récupérer le nom de votre site, qui est stocké dans la variable “$site_name”. Si le nom de votre site est disponible, il est utilisé pour renommer le fichier en utilisant la fonction “sanitize_title” pour supprimer les caractères spéciaux et rendre le nom de fichier plus convivial pour les utilisateurs.
Enfin, la fonction ajoute la date actuelle au nom de fichier en utilisant la fonction “date” et réassigne le nom de fichier dans le tableau “$file”. Le tableau modifié est ensuite retourné à la fonction d’origine pour continuer le processus de téléchargement.
En résumé
Il est important de noter que cette fonction personnalisée ne gère pas les conflits de nom de fichier, il est important de vous assurer que les noms de fichier générés sont uniques pour éviter les erreurs. Il y a différentes manière d’y arriver, par exemple en ajoutant un identifiant unique au nom de fichier ou en vérifiant s’il existe déjà un fichier portant ce nom avant de le télécharger.
En résumé, le code ci-dessus vous permet de renommer automatiquement les images téléchargées sur votre site WordPress en utilisant le nom de votre site et la date actuelle. Cela peut vous aider à organiser vos fichiers de manière plus efficace et améliorer la sécurité de votre site. Il est important de tenir compte des conflits de nom de fichier lors de la mise en place de cette fonctionnalité pour éviter les erreurs.
Testé sur WordPress 6.1.1 et Woocommerce 7.1
Un nouveau projet WordPress ? Besoin d’aide ?
Contactez-moi ou visitez mon site et je me ferais un plaisir de vous aider.
Un nouveau projet web ?
Un nouveau site vitrine ou e-commerce ?
Ou même vous souhaitez faire la refonte de votre site ?