Media Settings. Version: b0.001 Author: Arthur Lacoste Author URI: http://irz.fr */ add_action('admin_init','add_media_field'); function display_ext(){ echo ''; echo '

'.__('Entrez les extensions de fichier que vous souhaitez ajouter sans le point (séparé par un espace, ex: "mp3 doc gif")').'

'; echo '

' . __('Liste des extensions déjà disponibles : '); echo ''; $mimes = get_allowed_mime_types(); $type_aff = array(); foreach ($mimes as $ext => $mime) { $type_aff[] = str_replace('|', ', ', $ext); } echo implode(', ', $type_aff) . '

'; } function add_media_field() { //add_settings_section( 'fichier', __('Envoi de fichiers'), 'display_ext', 'media' ); add_settings_field( 'ext', 'Extension', 'display_ext', 'media', 'uploads', array( 'label_for' => 'ext' ) ); register_setting( 'media', 'ext' ); if(get_option('ext')!=''){ add_filter('upload_mimes', 'custom_upload_mimes');} } // ajoute une a une les extensions de l'option 'ext' pour l'ajouter dans les fichiers a télécharger function custom_upload_mimes ($existing_mimes = array()) { $mimetype = new mimetype(); $file_types = get_option('ext'); $variables = explode(' ', $file_types); foreach($variables as $value) { $value = trim($value); if(!strstr($value, '/')) { $mime = $mimetype->privFindType($value); } else { $mime = $value; } $existing_mimes[$value] = $mime; } return $existing_mimes; } class mimetype { function privFindType($ext) { // create mimetypes array $mimetypes = $this->privBuildMimeArray(); // return mime type for extension if (isset($mimetypes[$ext])) { return $mimetypes[$ext]; // if the extension wasn't found return octet-stream } else { return 'application/octet-stream'; } } function privBuildMimeArray() { require_once('types-mimes.php'); return $types; } }