Inicio > WordPress > WordPress: Remove Special Characters From Uploaded Files

WordPress: Remove Special Characters From Uploaded Files

17 septiembre, 2012


During my experience with WordPress I have found out users who are not familiar with Internet, tends to write filenames with special characters and even white spaces. It is almost impossible to teach them not to do that because they have been doing it all their life.

The problem with accents and WordPress appears when you are using URL Rewriting and your rules don’t consider special Latin characters. You will get a Not Found message when trying to access these files.

WordPress do not automatically remove Latin characters like accents (á, é, í, ó, ú), but it comes with a very handy internal function called remove_accents. So, if you want to make sure Latin characters are removed from file name when uploaded, you can use this in your functions.php file:

add_filter('sanitize_file_name', 'sa_sanitize_spanish_chars', 10);
function sa_sanitize_spanish_chars ($filename) {
return remove_accents( $filename );
}

The remove_accents() function is located in wp-includes/formatting.php.

Categories: WordPress Tags: , ,
Comentarios
  1. 18 noviembre, 2012 a las 17:10 | #1

    Hola Humberto:

    ¿Qué pasa con los archivos que ya están en la librería multimedia?

    Recientemente he querido mudar de servidor algunos sitios web y me topo con que las imágenes de los archivos que se subieron con acentos no se ven en el nuevo servidor.

    ¿Tienes alguna idea para reemplazar los nombres de archivo de manera masiva?

    Saludos

    • Administrador del sitio
      22 noviembre, 2012 a las 9:51 | #2

      La primera opcion es averiguar porque en el nuevo servidor no se ven. Adivinando me atrevo a pensar que son las reglas de reescritura. Solo hay que permitir que tambien se puedan poner acentos en los urls en las rewrite rules. La segunda opcion es que caerle directo a la tabla de posts en la base de datos (ahi vienen los nombres de archivos) y verificar que sean los mismos nombres en las carpetas upload_files o blogs.dir. La herramienta es esta: http://wordpress.org/extend/plugins/search-and-replace/
      Saludos

contacto

Mtro. Guillermo Humberto Vera Amaro