devdev / in the loop

Abilitare upload di file in WordPress (senza plugin)

Se volessimo caricare nella Libreria Media di WordPress un tipo di file non supportato, riceveremo l’errore:

Non hai i permessi per caricare questo tipo di file.

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.

Questo articolo ti è stato utile?
Wordpress – LETTURA 7 MINUTI WordPress e cron job in modo semplice
WordPress possiede un sistema interno di cron job da poter sfruttare in modo modo semplice, senza l’utilizzo di alcun plugin…
Wordpress – LETTURA 3 MINUTI Ottenere l’URL della pagina attuale in WordPress
Ecco uno snippet che ci permette di ottenere velocemente l’URL della pagina WordPress attuale, non importa se essa è una…
Wordpress – LETTURA 4 MINUTI Visualizzare i tag di una categoria in WordPress
Nella costruzione di un template, spesso ci troviamo a dover ottenere la lista dei tag dei post associati ad una…
Wordpress – LETTURA 5 MINUTI Passare variabili a get_template_part() in WordPress
Come sappiamo, la funzione get_template_part(), ci mette a disposizione un meccanismo semplice per creare delle sezioni riusabili all’interno del nostro…
Roba figa da
if (weekend) {
    relax();
}
la nostra newsletter, ogni tanto.