Poder gestionar los archivos que vamos subiendo a WordPress en un único sitio suele ser algo muy interesante. Y aunque la biblioteca de medios podría mejorarse (etiquetado de archivos, clasificación por temáticas o por extensión de los archivos, búsqueda de duplicados, etc.), su utilidad es muy clara para poder compartir o reaprovechar archivos entre nuestras entradas sin tener que subirlos más de una vez.
Quizás no te habías dado cuenta, pero WordPress sólo permite subir archivos a la biblioteca de medios si estos cumplen ciertas condiciones. En concreto, sólo podrás subir los siguientes tipos de archivos por defecto:
- Imágenes
- .jpg
- .jpeg
- .png
- .gif
- .ico
- Documentos
- .pdf (Portable Document Format; Adobe Acrobat)
- .doc, .docx (Microsoft Word Document)
- .ppt, .pptx, .pps, .ppsx (Microsoft PowerPoint Presentation)
- .odt (OpenDocument Text Document)
- .xls, .xlsx (Microsoft Excel Document)
- .psd (Adobe Photoshop Document)
- Audio
- .mp3
- .m4a
- .ogg
- .wav
- Video
- .mp4, .m4v (MPEG-4)
- .mov (QuickTime)
- .wmv (Windows Media Video)
- .avi
- .mpg
- .ogv (Ogg)
- .3gp (3GPP)
- .3g2 (3GPP2)
Sin embargo, no todos los proveedores de hosting permiten todos estos archivos. Algunos los limitan, así como el tamaño máximo de archivo que puedes subir. Si tienes problemas subiendo estos archivos, contacta primero con tu proveedor para ver cómo lo solucionas. Ah, y por si la lista de tipos de archivo que se pueden subir va ampliándose, en el Codex podrás encontrar siempre la versión más actualizada.

Recientemente hemos recibido un comentario que nos preguntaba cómo poder ampliar esta lista añadiendo más tipos de archivo. Como seguramente hay mucha más gente interesada en saber cómo hacer esto, en esta entrada te explico la solución.
Modificando wp-config.php
Si no queremos filtrar los tipos de extensión de archivos y así conseguir que sea posible subir a la librería de medios cualquier archivo, lo más fácil es añadir la siguiente línea dentro del archivo wp-config.php
:
define( 'ALLOW_UNFILTERED_UPLOADS', true );
Ya te hemos hablado anteriormente en esta entrada de las posibilidades que el archivo wp-config.php
nos permite modificar el comportamiento por defecto de WordPress. Utilizando la instrucción anterior estamos permitiendo a todos los administradores poder subir cualquier tipo de archivo. Ten en cuenta que esto puede llegar a ser peligroso si no confías demasiado en tus administradores y en lo que te puedan hacer. Sé cuidadoso al añadirlo o quizás acabes arrepintiéndote.
Utilizando el filtro upload_mimes
Si queremos solucionar el problema de poder subir extensiones de archivo adicionales a WordPress pero queremos ser mucho más selectivos y únicamente permitir un subconjunto controlado de extensiones, lo mejor que podemos hacer es utilizar el filtro upload_mimes
de WordPress. Tienes toda la información, como siempre, en el Codex.
La solución es muy sencilla. Tan solo has de añadir un código similar al siguiente dentro del archivo functions.php
de tu tema o creando un plugin nuevo:
Obviando la primera línea, que no has de añadir ya que solo sirve para abrir la definición de código PHP, en la línea 2 indicamos que la función my_mime_types
se ejecutará con el filtro upload_mimes
. Si quieres saber más sobre filtros y acciones, léete este otro artículo.
A continuación, entre las líneas 3 y 10 definimos la propia función my_mime_types
. En esta función nos pasan como parámetro $mime_types
que es una lista de tipos permitidos. Por tanto, si queremos, por ejemplo, permitir las extensiones SVG y JSON en la biblioteca de medios, tan solo hemos de añadir las líneas 4 y 5, respectivamente.
Para añadir un tipo de extensión nuevo solo hay que crear una nueva entrada en la lista $mime_types
con el tipo de extensión y su mime type. Para saber el mime type de una extensión tienes que ir a la lista oficial de media types que la organización IANA (Internet Assigned Numbers Authority) define.
Pero además, si crees que por defecto WordPress permite demasiados tipos de archivo también podrás prohibir los tipos de archivo que tu quieras tal y como hemos hecho en las líneas 7 y 8 del ejemplo anterior. Estas dos instrucciones eliminan la posibilidad de poder subir archivos de Microsoft Excel.

Nelio Unlocker
Pásate a WordPress manteniendo tus diseños y contenidos
Mejora hoy mismo el SEO de tu web y acelera su velocidad de carga convirtiendo tus páginas a estándares HTML, CSS y WordPress. No necesitas conocimientos técnicos y solo pagarás por aquello que necesites.
Resumen final
Como has podido ver, modificar el comportamiento de WordPress por defecto para tener un control mayor de los tipos de archivo que permites en tu instalación es muy sencillo. Y lo mejor de todo es que no vas a necesitar instalar un plugin complicado para ello. Con unas pequeñas líneas de código PHP o incluso modificando el archivo wp-config.php
conseguirás tu objetivo.
Ahora te toca a ti. Explícanos que tipos de archivo echas de menos en WordPress y cual ha sido tu experiencia utilizando las soluciones que te he propuesto en esta entrada.
Imagen destacada de Andrew Pons.
Deja una respuesta