Comment ajouter différents types de fichiers dans WordPress
Avoir la possibilité de gérer tous les fichiers que nous « downloadons » (upload) depuis la librairie des médias de WordPress est bien utile. Plusieurs demandent une amélioration de ce module en voulant ajouter des fonctionnalités de classements des fichiers soit par tag ou par catégories ou par l’ajout de dossiers de classement. Bien qu’elle n’est pas parfaite, cette librairie demeure très utile lorsque nous devons réutiliser certains fichiers dans différents articles ou différentes pages sans avoir à rajouter ceux-ci à la bibliothèque de médias.
Peut-être ne le saviez-vous pas, mais WordPress vous permet d’ajouter que seulement quelques types de fichiers sous certaines conditions. Voici les extensions acceptées par défaut dans la librairie :
- Images
- .jpg
- .jpeg
- .png
- .gif
- .ico
- Documents
- .pdf (Portable Document Format; Adobe Acrobat)
- .doc, .docx (Microsoft Word Document)
- .ppt, .pptx, .pps, .ppsx (Microsoft PowerPoint Presentation)
- .odt (OpenDocument Text Document)
- .xls, .xlsx (Microsoft Excel Document)
- .psd (Adobe Photoshop Document)
- Audios
- .mp3
- .m4a
- .ogg
- .wav
- Vidéos
- .mp4, .m4v (MPEG-4)
- .mov (QuickTime)
- .wmv (Windows Media Video)
- .avi
- .mpg
- .ogv (Ogg)
- .3gp (3GPP)
- .3g2 (3GPP2)
Il n’est pas toujours possible de pouvoir ajouter tous ces types de fichiers. En effet, certains fournisseurs d’hébergement WordPress limitent certains types de fichier et/ou vous limite à une taille maximum pour l’upload de ceux-ci.
Comment ajouter certains types de fichiers dans WordPress
Soit en modifiant le fichier wp-config.php
Si vous ne voulez pas restreindre les types de fichier pouvant être uploadés depuis la librairie des médias, la façon la plus simple est d’ajouter cette ligne de code à votre fichier wp-config.php.
define( 'ALLOW_UNFILTERED_UPLOADS', true );
Ce fichier nous permet de modifier certaines fonctionnalités par défaut de WordPress. Celui-ci se trouve à la racine de vos fichiers WordPress. Je vous suggère d’utiliser un logiciel FTP tel que FileZilla pour modifier celui-ci.
Soit en utilisant le filtre upload_mimes
Si vous voulez resteaindre ou permettre certains types de fichiers pouvant être ajoutés à la bibliothèque de façon sélective, utilisez plutôt le filtre upload_mime
. Ce filtre est très facile à utiliser. Ajoutez celui-ci dans le fichier functions.php de votre thème actif :
<?php
add_filter( 'upload_mimes', 'my_myme_types', 1, 1 );
function my_myme_types( $mime_types ) {
$mime_types['svg'] = 'image/svg+xml'; // Adding .svg extension
$mime_types['json'] = 'application/json'; // Adding .json extension
unset( $mime_types['xls'] ); // Remove .xls extension
unset( $mime_types['xlsx'] ); // Remove .xlsx extension
return $mime_types;
}
À noter que dans cet exemple, nous permettons à l’utilisateur WordPress de pouvoir ajouter les fichiers de type .svg et de type .json. Nous enlevons aussi la possibilité à tout utilisateur d’ajouter des fichiers avec des extensions .xls ou .xls référents à des documents Excel.
Article publié originalement en anglais sur le blog de NelioSoftware.