WordPress límita por seguridad ciertas extensiones de archivo, en algunos casos necesitamos subir archivo de tipo .svg o .webp que serán rechazados por el sistema, existen varias formas de dar permiso al sistema para aumentar el tipo de archivos que queremos subir, debemos de tener en cuenta otros factores antes de hacer esto como la seguridad por ejemplo, para ello existen muchos plugins y es posible que sea la mejor opción si solo necesitamos agregar una única extensión de archivo, el problema lo tenemos cuando son varias extensiones.

La forma incorrecta

He visto en muchas instalaciones una forma poco recomendable de hacer esto, en el archivo wp-config.php se suele insertar la siguiente línea:

define('ALLOW_UNFILTERED_UPLOADS', true);

Subir archivos comprimidos

La forma más sencilla de realizar esta tarea sería comprimir los archivos en zip para evitar problemas de cualquier tipo, aunque esto no siempre es lo más cómodo para los usuarios

La forma correcta

La forma correcta de permitir otros tipos de extensión de archivo en Worpress sería creando una función en nuestro functions.php que defina los tipos mime que queremos permitir:

add_filter( 'upload_mimes', 'ddw_allow_myme_types', 1, 1 );
function ddw_allow_myme_types( $mime_types ) {
  $mime_types['EXTENSION_DE_ARCHIVO'] = 'TIPO_MIME';
  return $mime_types;
}

Por ejemplo:

add_filter( 'upload_mimes', 'ddw_allow_myme_types', 1, 1 );
function ddw_allow_myme_types( $mime_types ) {
  $mime_types['aac'] = 'audio/aac';
  return $mime_types;
}

También podemos limitar tipos de extensión de archivo:

add_filter( 'upload_mimes', 'ddw_disallow_myme_types', 1, 1 );
function ddw_disallow_myme_types( $mime_types ) {
    unset( $mime_types['xls'] );
    unset( $mime_types['xlsx'] );
  return $mime_types;
}

O combinar ambos en la misma función:

add_filter( 'upload_mimes', 'ddw_myme_types', 1, 1 );
function ddw_myme_types( $mime_types ) {
    $mime_types['aac'] = 'audio/aac';
    unset( $mime_types['xls'] );
    unset( $mime_types['xlsx'] );
  return $mime_types;
}

Por último os dejo todas las extensiones de archivo y su tipo mime para insertarlas en la función si lo necesitáis:

.aac 	audio/aac
.abw 	application/x-abiword
.arc 	application/octet-stream
.avi 	video/x-msvideo
.azw 	application/vnd.amazon.ebook
.bin 	application/octet-stream
.bz  	 	application/x-bzip
.bz2 	application/x-bzip2
.csh 	application/x-csh
.css 	text/css
.csv 	text/csv
.doc 	application/msword
.epub 	application/epub+zip
.gif 	 	image/gif
.htm 	text/html
.html 	text/html
.ico 	image/x-icon
.ics 	 	text/calendar
.jar 	 	application/java-archive
.jpeg 	image/jpeg
.jpg 	image/jpeg
.js 	 	application/javascript
.json 	application/json
.mid 	audio/midi
.midi 	audio/midi
.mpeg 	video/mpeg
.mpkg 	application/vnd.apple.installer+xml
.odp 	application/vnd.oasis.opendocument.presentation
.ods 	application/vnd.oasis.opendocument.spreadsheet
.odt 	application/vnd.oasis.opendocument.text
.oga 	audio/ogg
.ogv 	video/ogg
.ogx 	application/ogg
.pdf 	application/pdf
.ppt 	application/vnd.ms-powerpoint
.rar 	application/x-rar-compressed
.rtf 	 	application/rtf
.sh 	 	application/x-sh
.svg 	image/svg+xml
.swf 	application/x-shockwave-flash
.tar 	 	application/x-tar
.tif 	 	image/tiff
.tiff 	 	image/tiff
.ttf 	 	font/ttf
.vsd 	application/vnd.visio
.wav 	audio/x-wav
.weba 	audio/webm
.webm 	video/webm
.webp 	image/webp
.woff 	font/woff
.woff2 	font/woff2
.xhtml 	application/xhtml+xml
.xls 	 	application/vnd.ms-excel
.xml 	application/xml
.xul 	application/vnd.mozilla.xul+xml
.zip 	application/zip
.3gp 	video/3gpp
.3gp 	audio/3gpp
.3g2 	video/3gpp2
.3g2 	audio/3gpp2
.7z 	 	application/x-7z-compressed

En futuras publicaciones hablaremos de la seguridad de este tipo de prácticas con algunas extensiones de archivo

Valoraciones


Sé el primero en valorar

* Tu valoración puede tardar hasta 72 horas en publicarse.

He leido y acepto el Aviso legal y condiciones de uso

CAPTCHA


Utilizamos cookies propias y de terceros para el correcto funcionamiento de la web, personalizar el contenido y mostrar publicidad en función de las preferencias del visitante. Puedes encontrar más información en nuestra Política de cookies.

ACEPTAR
Aviso de cookies