Cambiar tipos de archivo que se pueden subir

WordPress, por defecto, limita los tipos “mime” de archivos que puedes subir a través del cargador del editor de entradas. Esto, que es bueno en principio porque restringe la carga de ficheros potencialmente peligrosos, para según qué usos es una restricción demasiado excesiva.

Afortunadamente se puede cambiar este comportamiento recurriendo al “hook” llamado 'upload_mimes', lamentablemente nada documentado en el Codex.

Para empezar, debes saber que hay 35 tipos de archivo permitidos por defecto, definidos en el fichero '/wp-includes/functions.php' de tu instalación de WordPress. Si revisas el fichero, verás la siguiente leyenda a partir de la línea 2275:

Si necesitas algún tipo de archivo que no esté en la lista puedes hacer dos cosas. Una, muy obvia, es añadir el tipo de fichero en esa lista, pero esto tiene un problema: tienes que acordarte de volver a añadirlo cada vez que actualices WordPress, además de que no es buena idea modificar los ficheros core.

Una idea mucho mejor es crear una nueva función en el fichero functions.php de tu tema, que siempre podrás exportar a otro tema fácilmente, y no perderás aunque actualices WordPress.

Para ello lo tienes que añadir estas líneas:

Fíjate que la función acepta el array $existing_mimes, añade un nuevo tipo de archivo (con la extensión “ext” y el tipo de mime “mime/type”), luego devuelve el array completo.

Por supuesto, tienes que reemplazar la palabra “ext” con la extensión que quieras añadir y luego busca en Google para saber cual es su mime type3 y ponerlo correctamente (si no lo supieras). A partir de ahí puedes ir copiando la línea e ir añadiendo tantas líneas como tipos de archivo necesites agregar, cada una con su extensión y mime type, claro.

¿Que lo que quieres es anular extensiones de archivo en vez de añadirlas?, pues entonces esto es lo que debes hacer:

Reemplaza la línea $existing_mimes['ext'] = 'mime/type'; por unset( $existing_mimes['ext']); y ya lo tienes. Un ejemplo sería este:

Interesante ¿no?. Espero te sirva para dar algo más de seguridad a tu instalación de WordPress, sobre todo si otros usuarios tienen acceso a la misma.

Fuentes: Option filters (Codex) | Chris Meller | Head first productions

AVISO: esta publicación es de hace dos años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

Valora este artículo para mejorar la calidad del blog ...

FlojitoNo está malEstá bienMe ha servidoFantástico (1 votos, promedio: 3,00 de 5)
Cargando…

Autor: Fernando

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran.

Autor del libro WordPress – La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

LOS BURÓCRATAS DE LA UE ME EXIGEN QUE TE DIGA QUE SI VISITAS AYUDA WORDPRESS PUEDES RECIBIR ALGUNA COOKIE. AQUÍ NO HAY COOKIES DE PUBLICIDAD, COMO LAS QUE SI TE DEJAN GOOGLE, AMAZÓN Y MONTÓN DE SITIOS, SIN AVISAR, PERO EL QUE TE TENGO QUE AVISAR SOY YO. LAS COOKIES QUE TE DEJA AYUDA WORDPRESS SON PARA FACILITARTE LA NAVEGACIÓN, COMPARTIR Y COMENTAR. SI NO QUIERES RECIBIR COOKIES PUEDES NAVEGAR EN MODO PRIVADO, ABANDONAR ESTE SITIO Y PERDERTE EL CONTENIDO GRATIS QUE COMPARTO CADA DÍA SOBRE WORDPRESS O IRTE A UNA ISLA DESIERTA PARA VIVIR AISLADO DEL MUNDO, ESO SÍ, SIN COOKIES. O SINO, SIMPLEMENTE CIERRA ESTA VENTANA COÑAZO Y SIGUE DISFRUTANDO DEL BLOG. SI TIENES CURIOSIDAD SOBRE ESTO DE LAS COOKIES TE DEJO UN ENLACE >> MÁS INFORMACIÓN

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar