WordPress ne supporte en upload qu’une liste exhaustive de formats de fichiers. Si comme moi vous souhaitez uploader1 des fichiers issus de TextMate, comme les .tmCommand et autres .tmSnippet, ajoutez le code qui suit dans le fichier functions.php de votre thème2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Add the new filter
add_filter('upload_mimes', 'addUploadMimes');
 
/**
 * Adds new supported media types for upload.
 *
 * @see wp_check_filetype() or get_allowed_mime_types()
 * @param array $mimes Array of mime types keyed by the file extension regex corresponding to those types.
 * @return array
 */
function addUploadMimes($mimes)
{
	$mimes = array_merge($mimes, array(
		'tmbundle|tmCommand|tmDragCommand|tmSnippet|tmLanguage|tmPreferences' => 'application/octet-stream'
	));
 
	return $mimes;
}
?>

Indiquez en clé les nouvelles extensions de fichier (séparées par des pipes) et en valeur le type mime associé.


Notes

  1. sous Mac OS X tout du moins, SWFUpload me désactive la sélection des fichiers de TextMate m’obligeant à passer par l’interface d’upload native du navigateur. Je suis preneur de toute solution. 

  2. à choisir, l’ajouter dans un plugin serait plus judicieux puisque cette fonctionnalité ne dépend pas du thème. 

publicité (chargement)

4 réponses pour WordPress : autoriser l’upload de fichiers au format non-supporté

  1. […] to Pioupioum for this great piece of code! If you enjoyed this article, please consider sharing it! […]

  2. très bien , merci beaucoup

  3. hum dit :
    Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 21 in ///public_html/wp-includes/functions.php on line 1795
    Fermer « ***.webm » n’a pas pu être mis en ligne suite à une erreur
    Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité.

    Code a revoir ;)

  4. piouPiouM dit :

    @hum sauf qu’à aucun moment, ni dans WordPress (fonctions get_allowed_mime_types() ou wp_get_mime_types() et leurs appels), ni dans le code donné dans ce billet, il n’est question de création d’une liste de caractères (comme [abc]). Quelle version de WordPress utilisez-vous et quel code fournissez-vous au filtre upload_mimes ?

Ajouter un commentaire


Syndication

Réseaux sociaux