Felipe Elia

ENPT

WordPress: remover acentos e espaços de nomes de arquivos

1 min de leitura

Atualização: a partir da versão 5.5 do WordPress, este código não é mais necessário. Veja neste post todas as novidades do WordPress 5.5 para desenvolvedores.

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.

Gostou deste post? Receba o próximo por e-mail.

Novos artigos e ferramentas úteis, sempre que houver algo que valha compartilhar.

Sem frequência fixa. Sem spam. Cancele quando quiser.

4 respostas a “WordPress: remover acentos e espaços de nomes de arquivos”

  1. Avatar de Fernando Lopes

    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.

    1. Avatar de Felipe Elia

      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.

  2. Avatar de Daniel A Neves
    Daniel A Neves

    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 );
    }

    1. Avatar de Felipe Elia
      Felipe Elia

      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.