web-dev-qa-db-fra.com

Autoriser tous les types de fichiers à télécharger

J'utilise Wordpress 3.4.2 pour un blog privé, c'est-à-dire un blog sur lequel je ne peux que poster. Désormais, Wordpress m'empêche de télécharger certains types de fichiers (tels que les fichiers source C #). Autant que je sache, il existe une liste blanche qui définit ce qui peut être téléchargé.

Y a-t-il un plugin qui peut étendre - ou mieux, même désactiver - cette liste blanche?

Toutes les autres réponses me disent que je devrais éditer mon thème mais je préférerais avoir un plugin pour cela (pour ne pas avoir à éditer tous mes thèmes).

Aussi, j'ai trouvé ce plugin mais, encore une fois, il me faut éditer un fichier sur mon serveur (c'est probablement écrasé lorsque le plugin est mis à jour).

Alors, y a-t-il autre chose?

5

Malheureusement, la réponse de toscho ne fonctionne pas - du moins pas dans Wordpress 3.4 et supérieur.

La solution correcte est la suivante:

#
# For this, see: wp-includes/capabilities.php > map_meta_cap()
#
function wpse_6533_map_unrestricted_upload_filter($caps, $cap) {
  if ($cap == 'unfiltered_upload') {
    $caps = array();
    $caps[] = $cap;
  }

  return $caps;
}

add_filter('map_meta_cap', 'wpse_6533_map_unrestricted_upload_filter', 0, 2);
1

Vous pouvez créer un plugin ou l'ajouter au fichier de configuration, mais cela fonctionne pour 3.9.2.

define('ALLOW_UNFILTERED_UPLOADS', true);
6
STing

Filtrez 'user_has_cap' et réglez 'unfiltered_upload' sur 1.

Exemple de code non testé:

/*
Plugin Name: Remove Uploads Filter
Plugin URI: http://wordpress.stackexchange.com/questions/67225/allow-all-file-types-for-upload
Description: Disables white-list filter for uploads
Version: 1.0
Author: WPSE - @toscho
*/

add_filter( 'user_has_cap', 'wpse_67225_unfiltered_upload' );

function wpse_67225_unfiltered_upload( $caps )
{
    $caps['unfiltered_upload'] = 1;
    return $caps;
}
3
fuxia