Se sfrutti le funzionalità di upload WordPress, ti sarai accorto che non tutte le estensioni sono compatibili con il sistema di gestione degli upload file. Questa limitazione è voluta da WordPress per ragioni di sicurezza e così nel CMS puoi caricare solo i file più comuni, come i più famosi formati immagine, i file audio e video più conosciuti e alcune tipologie di documenti e archivi. In realtà, questa scelta esclude altri tipi di file per cui potresti avere necessità di effettuare l’upload. Ad esempio, se il tuo blog parla di Photoshop e vuoi allegare ai tuoi post dei file in formato PSD, l’upload WordPress non te lo permette e devi ricorrere per forza agli archivi ZIP.
In realtà, c’è un trucco per estendere la capacità del sistema di upload WordPress, rendendolo compatibile con nuovi formati personalizzati in base alle esigenze. Ad esempio, potresti voler caricare dei file in formato SVG o, come già ti ho detto, in formato PSD e via discorrendo. Con questo trucco puoi rendere l’upload WordPress aperto a tutti i formati che ti interessano, senza più alcuna limitazione.
Ricordati che questa implementazione potrebbe inficare la sicurezza della tua installazione, per cui ricordati di rendere compatibile l’upload WordPress solo con formati certi e privi di pericolo per la sicurezza del CMS.
Infine, prima di procedere alla modifica, ti invio a consultare l’elenco delle estensioni già compatibili con l’upload WordPress e di effettuare una prova per verificare se il file di cui vuoi effettuare l’upload venga digerito dal CMS senza problemi.
In caso in cui l’estensione del file a te necessario non sia nella lista di quelli compatibili, puoi procedere come ti indico di seguito.
Estendere le potenzialità del sistema di upload WordPress
Individua il file functions.php del tuo tema, autenticandoti all’area back-end della tua installazione WordPress e scegliendo dal menu laterale la voce Aspetto/Editor con un clic del mouse. Compaiono dei link nella fascia laterale destra, in cui devi individuare la voce corrispondente al file functions.php.
Una volta avuto accesso al file, ricordati di selezionarlo e copiarlo in un file TXT sul tuo PC: questa copia ti servirà come backup nel caso in cui qualcosa non dovesse andare per il verso giusto.
Dopo aver salvato il backup, inserisci nel file questa porzione di codice.
function my_myme_types($mime_types){
$mime_types[‘svg’] = ‘image/svg+xml’; //Per il supporto al formato SVG
return $mime_types;
}
add_filter(‘upload_mimes’, ‘my_myme_types’, 1, 1);
Così facendo, dichiari un array di nome mime_types, a cui aggiungi l’estensione SVG, con valore pari alla descrizione dell’estensione stessa. Nel codice di esempio, l’estensione file SVG rappresenta i file con tipo MIME image/svg+xml. Puoi consultare altri tipi MIME su questa pagina.
Il codice di esempio, può essere anche modificato per estendere il supporto file dell’upload WordPress con estensioni multiple, come nel caso seguente:
function my_myme_types($mime_types){
$mime_types[‘svg’] = ‘image/svg+xml’; //Per il supporto al formato SVG
$mime_types[‘psd’] = ‘image/vnd.adobe.photoshop’; //Per il formato PSD
return $mime_types;
}
add_filter(‘upload_mimes’, ‘my_myme_types’, 1, 1);
In questo modo, puoi aggiungere tutte le estensioni file di cui necessiti che WordPress effettui l’upload.