Vous êtes-vous déjà fait refouler par WordPress en envoyant un fichier dans la bibliothèque de médias ?

Si c’est le cas, rassurez-vous. C’est tout à fait normal.

Il faut savoir que par mesure de sécurité, certains types de fichiers sont bloqués par WordPress lors de l’envoi dans les médias.

Par exemple, si vous avez besoin d’ajouter un fichier .ai,  ou .exe à votre site, vous allez tomber sur l’erreur suivante :

extensions interdites snippets wpmarmite

Alors qu’en est-il vraiment ? Eh bien les types de fichiers suivants peuvent être envoyés dans la bibliothèque :

  • Fichiers images : .jpg, .png, .gif et .ico ;
  • Fichiers audio : .mp3, .m4a, .ogg, .wav ;
  • Fichiers vidéo : .mp4, .m4v, .mov, .wmv, .avi, .mpg, .ogv, .3gp, .3g2 ;
  • Documents : .pdf, .doc, .docx, .ppt, .pptx, .pps, .ppsx, .odt, .xls, .xlsx, .psd ;

Pour autoriser l’envoi d’autres types de fichiers, copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

/* Autoriser l'upload de tous types de format dans les médias */

add_filter('upload_mimes', 'wpm_myme_types', 1, 1);

function wpm_myme_types($mime_types){
$mime_types['ai'] = 'application/postscript'; //On autorise les .ai
$mime_types['mon autre extension'] = 'mon autre Mime Type';
return $mime_types;
}

Ici, on ajoute un Mime Type qui représente le type de média suivant l’extension. Par exemple, le Mime Type de l’extension .ai est application/postscript .

Rassurez-vous, je ne l’ai pas inventé !

Tous les Mimes Types de toutes les extensions sont consultables sur cette page. Vous n’avez plus qu’à chercher celui de l’extension qui vous intéresse.

Vous pouvez ajouter autant de formats à la suite que vous souhaitez dans ce code.

Avec ce snippet, vous pouvez voir que mon .ai est maintenant accepté :

extensions ajoutees snippet wpmarmite

Si vous ne voulez pas mettre les mains dans le cambouis, je vous conseille le plugin WP Add Mime Types qui fait aussi très bien le boulot.

MAJ : Comme me l’a fait remarquer Julio Potier (qui édite le plugin de sécurité SecuPress), n’ajoutez surtout pas de fichier .xml ou .svg de cette manière. Cela représenterait une faille de sécurité pour votre site. L’explication de Julio se trouve ici.

Préférez plutôt le plugin Scalable Vector Graphics (SVG) qui permet de gérer l’envoi de ces formats sans failles de sécurité.

Et vous, quels types de fichier autorisez-vous sur votre site ?

Source: WP Beginner – Codex