Se volessimo caricare nella Libreria Media di WordPress un tipo di file non supportato, riceveremo l’errore:
Questo succede perché di default, in WordPress, soltanto alcuni tipi di file specifici possono essere caricati e sono quindi supportati.
Quali tipi di file sono supportati?
WordPress supporta nativamente il caricamento di questi tipi di file:
Immagini
- .jpg
- .jpeg
- .png
- .gif
- .ico
Documenti
- .pdf (Portable Document Format; Adobe Acrobat)
- .doc, .docx (Microsoft Word Document)
- .ppt, .pptx, .pps, .ppsx (Microsoft PowerPoint Presentation)
- .odt (OpenDocument Text Document)
- .xls, .xlsx (Microsoft Excel Document)
- .psd (Adobe Photoshop Document)
Audio
- .mp3
- .m4a
- .ogg
- .wav
Video
- .mp4, .m4v (MPEG-4)
- .mov (QuickTime)
- .wmv (Windows Media Video)
- .avi
- .mpg
- .ogv (Ogg)
- .3gp (3GPP)
- .3g2 (3GPP2)
Se volessimo estendere, ovvero aggiungere uno o più di tipi di file a questa lista, potremmo farlo in modo veloce senza utilizzare alcun plugin.
Aggiungere nuovi tipi di file permessi
Per farlo, aggiungiamo questo codice al file functions.php
presente nella cartella del nostro tema:
function devdev_mime_types($mime_types) { $mime_types['svg'] = 'image/svg+xml'; $mime_types['vcf'] = 'text/vcard'; return $mime_types; } add_filter('upload_mimes', 'devdev_mime_types', 1, 1);
Proviamo a spiegare brevemente il codice. Abbiamo definito una funzione chiamata devdev_myme_types()
e l’abbiamo associata ad un filtro preesistente di WordPress chiamato upload_mimes
. I filtri che WordPress offre sono costruiti proprio per permettere di modificare i dati in corsa, cioè in runtime. In questo caso aggiungiamo un due nuovi tipi file a quelli interni già esistenti, semplicemente aggiungendo nuovi elementi all’array che “arriva” alla funzione come parametro.
Attenzione, non basta indicare l’estensione “svg” oppure “vfc”, bisogna indicare anche il mimetype (trovate una lista qui), che è indica intrinsecamente il tipo di file. Questa “informazione” è contenuta all’interno stesso del file, ed in realtà indipendente dall’estensione. Consultate le tabelle pubbliche per associare correttamente l’estensione al mimetype!
A questo punto salviamo e riproviamo a caricare il tipo di file prima non supportato nella libreria media.