Hace poco me topé con un bug en una web WordPress que afectaba a navegadores Safari en iOS. Las imágenes no se veían si una URL de una imagen tenía un acento y hubo que incorporar una función PHP vinculado al filtro sanitize_file_name para que en el evento de subir un archivo, quitase los caracteres acentuados y así se pudiese ver el archivo en OSx e iOS.
Corregir el bug
En el archivo functions.php del tema añadimos:
function sanitize_filename_on_upload($filename) { $ext = end(explode('.',$filename)); // Reemplazar todos los caracteres extranos. $sanitized = preg_replace('/[^a-zA-Z0-9-_.]/','', substr($filename, 0, -(strlen($ext)+1))); // Replace dots inside filename $sanitized = str_replace('.','-', $sanitized); return strtolower($sanitized.'.'.$ext); } add_filter('sanitize_file_name', 'sanitize_filename_on_upload', 10);
Últimos comentarios