Recentemente, em alguns projetos da duo.me, tivemos problemas com algumas hospedagens que simplesmente se perdiam quando precisavam encontrar arquivos com caracteres acentuados, espaços ou ainda letras maiúsculas no nome. Para evitar que isso acontecesse novamente passamos a colocar o seguinte código em todos os nossos temas, dessa forma os nomes dos arquivos passam por processo similar ao da criação automática de slugs: transformação de espaços em hífens, caracteres com acento e transformação em letras minúsculas.
Fica a dica:
Inclua esse código nos seus temas e seja feliz 🙂 Ele é bem simples e serve como mais um exemplo dos hooks no WordPress.
Muito bom! Existe algum snippet que diminua o nome de um arquivo que for maior que um valor pré determinado? Tenho tido problemas quando uso plugins de backup e o nome do arquivo é muito longo.
Oi Fernando,
Você pode substituir a linha do retorno para algo como
return substr( sanitize_title( $file_parts[‘filename’] ), 0, 100 ) . ‘.’ . $file_parts[‘extension’];
Para um nome de arquivo com 100 caracteres, sem contar a extensão.
Amigos, na prática, Qual a diferença deste codigo abaixo com este que vcs postaram?
// Remover acentos no Nome
add_filter(‘sanitize_file_name’, ‘sa_sanitize_spanish_chars’, 10);
function sa_sanitize_spanish_chars ($filename) {
return remove_accents( $filename );
}
Boa pergunta! Na prática o código postado também transforma todo o nome para letras minúsculas e transforma os espaços em branco em hífens.