Configurar WordPress para subir archivos no permitidos por defecto

6 Mar

Es común que cuando estamos escribiendo una publicación en WordPress queramos insertar algún archivo relacionado con lo escrito, bien sea un archivo comprimido (.zip, .tar.bz2, etc…), un archivo xml con extensión de algún programa (.fz, por ejemplo) o cualquier otra extensión; pero cuando intentamos agregar el archivo a la biblioteca nos aparece un mensaje de error diciendonos que por motivos de seguridad, ese tipo de archivo no está permitido.

 

Error al subir un archivo con extensión .fz

 

En este corto tutorial les explicaré como hacer que WordPress permita subir nuevos tipos de archivos.

Lo primero será localizar el archivo functions.php del tema que estamos usando. Generalmente está ubicando en:

wp-content/themes/eltemausado/functions.php

Una vez ubicado el archivo, procedemos a abrirlo y a editarlo. Al final del archivo, antes de cerrar el script de PHP (la cosita ?>), agregaremos las lineas necesarias para decirle a WordPress cuales archivos queremos que sean permitidos.

null   
// Primero agregamos el filtro.
add_filter('upload_mimes', 'addUploadMimes');
 
// Luego agregamos la función que agrega los mime-types que deseamos.
function addUploadMimes($mimes) {
  $mimes = array_merge($mimes, array(
    'tar.bz2' => 'application/octet-stream',
    'fz' => 'application/x-fritzing'
  ));
 
  return $mimes;
}

Por cada tipo de archivo que deseemos agregar, es necesario generar una entrada en el vector con la forma:

null   
'extension' => 'mime-type'

Ya con esto tenemos listo WordPress para aceptar los tipos de archivos que le hayamos dicho en el archivo anteriormente modificado.

Ahora el archivo es permitido por WordPress

 

Como siempre, espero que esto le sirva a alguien y quedo atento a sus comentarios, preguntas y sugerencias.

Acerca del autor

Daniel Pérez ha escrito 10 publicaciones en este blog.

THE POSTS ARE DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY. IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Los quiero.

2 Comentarios a “Configurar WordPress para subir archivos no permitidos por defecto”

  1. ruiel 26 junio, 2011 at 14:39 #

    hola amigo, como sería la sintapsis correcta para un archivo m3u y en donde va el codigo al final del blok denotas antes de el sierre?

    • DaPa 10 agosto, 2011 at 22:07 #

      Hola Ruiel,

      Disculpa la demora para contestarte, espero que todavía te sirva.

      El código va al final del archivo functions.php, justo antes de la etiqueta de cierre de php «?>». El mime-type para un archivo m3u es audio/x-mpegurl y la sintaxis final sería:

      null    
      add_filter('upload_mimes', 'addUploadMimes');
       
      function addUploadMimes($mimes) {
        $mimes = array_merge($mimes, array(
          'm3u' => 'audio/x-mpegurl'
        ));
       
        return $mimes;
      }

      Acá podes encontrar una lista de mime-types: http://www.w3schools.com/media/media_mimeref.asp

      Espero te sirva de ayuda.

Deja un comentario