Por padrão, o WordPress permite o upload de apenas algumas extensões de arquivos. No entanto, você pode estender essa funcionalidade para incluir formatos não permitidos, como SVG e WebP, sem a necessidade de plugins. Para isso, basta adicionar uma função no arquivo functions.php
do seu tema.
Aqui está o código necessário para permitir o upload de arquivos com extensões SVG e WebP no seu WordPress, incluindo a sanitização de arquivos SVG:
Explicação do Código
- custom_mime_types($mimes):
- Adiciona novos tipos MIME à lista de tipos permitidos pelo WordPress.
$mimes['svg'] = 'image/svg+xml'
: Adiciona suporte para arquivos SVG.$mimes['webp'] = 'image/webp'
: Adiciona suporte para arquivos WebP.
- add_filter(‘upload_mimes’, ‘custom_mime_types’):
- Adiciona a função
custom_mime_types
ao filtroupload_mimes
, permitindo que o WordPress reconheça esses novos tipos de arquivo durante o upload.
- Adiciona a função
- sanitize_svg($svg):
- Lê o conteúdo do arquivo SVG para garantir que ele seja seguro.
- add_filter(‘wp_handle_upload_prefilter’, function($file):
- Verifica se o arquivo sendo carregado é um SVG.
- Se for um SVG, sanitiza seu conteúdo antes do upload, garantindo que nenhum código malicioso seja incluído.
Considerações Importantes
- Segurança: Sanitizar SVGs é crucial porque eles podem conter código malicioso. A função
sanitize_svg
ajuda a mitigar esse risco ao garantir que apenas o conteúdo do arquivo SVG seja carregado. - Compatibilidade: Verifique se seu tema e plugins são compatíveis com os novos tipos de arquivo para evitar problemas de exibição ou funcionalidade.
Com essa modificação, você pode fazer upload de arquivos SVG e WebP no seu WordPress de forma segura, ampliando as possibilidades de mídia no seu site sem depender de plugins adicionais.