Jak mohu ve WordPressu nahrávat nepovolené typy souborů?

Redakční systém Wordpress má z důvodu větší bezpečnosti povoleno nahrávat pouze určité typy souborů. Jde o soubory, které běžně používáte při práci s počítačem a jde obvykle o soubory s obrázky, videi nebo dokumenty. Avšak jiné, méně typické formáty souborů jsou bohužel standardně ve WordPressu zakázány a je nutné je povolit ručně.

Jaké soubory jsou ve Wordpressu povolené?

Obrázky 
Dokumenty 
Audio 
Video 
gif
xls, xlsx
wav
mp4, m4v
jpg
pdf
mp3
ogv
jpeg
doc, docx
m4a
mov
png ppt, pptx, pps, ppsx
ogg
wmv 

odt

avi



mpg 



3g2



3gp

Pokud byste se snažili o přidání jakéhokoliv jiného formátu souboru, vrátí Vám WordPress tuto chybovou hlášku.


Jak povolit jiný, než standardní typ souboru pro nahrávání?

Povolení nahrávání souborů se provádí přes úpravu skriptu function.php, který je dostupný přes editor Vaší šablony. Vzhledem k faktu, že budete zasahovat přímo do zdrojového kódu samotné šablony vzhledu, důrazně před tímto krokem doporučujeme provést zálohu samotné šablony, nebo alespoň celého kódu skriptu function.php. Případně vždy je možné obnovit data z naší zálohy, která je dostupná na FTP (Obnova webhostingu ze zálohy). 

U doplňkových služeb WP Ready a Hosting Basic je v případě nutnosti obnovení šablony nutné kontaktovat naši zákaznickou podporu, jelikož zde zálohy nejsou pro uživatele veřejně dostupné.

Pro úpravu skriptu function.php postupujte následovně:

  1. přihlaste se do administrace svého WordPressu
  2. v levém menu klikněte na položku „Vzhled“
  3. v podmenu se přesuňte na položku „Editor souboru šablony“
  4. v pravém menu, s výběrem souborů šablony vyberte „function.php“
  5. na konec skriptu v editoru vložte níže uvedený kód
  6. klikněte na „aktualizovat soubor“


Kód pro povolení vložení souboru:

function my_myme_types($mime_types){
 $mime_types['svg'] = 'image/svg+xml'; //Povolí .svg
 return $mime_types; 
} 
add_filter('upload_mimes', 'my_myme_types', 1, 1);
V tomto kódu je pro přidání souboru důležitý tento řádek:

$mime_types['svg'] = 'image/svg+xml'; //Povolí .svg
V něm definujete koncovku souboru, tedy v našem případě soubor .svg a zároveň v něm definujete jeho MIME typ. MIME typ (Multipurpose Internet Mail Extensions type) je identifikátor formátu digitálního média, jako jsou textové dokumenty, obrázky, zvukové soubory, atd. Tyto typy slouží k určení typu souboru při jeho přenosu přes internet. Prohlížeče a servery používají MIME typy ke správnému zobrazení nebo úpravě souboru.

Do části kódu ['svg'] tedy vložíte přesnou koncovku souboru, který chcete pro nahrávání povolit. Dále pak musíte za rovnítko vložit přesný MIME typ souboru. V našem případě 'image/svg+xml'.

Pokud  MIME typ vašeho souboru neznáte, můžete jej najít např. na této stránce: https://www.freeformatter.com/mime-types-list.html

Jak vložit kód pro povolení více souborů?
Uvedeme si následující příklad:

function my_myme_types($mime_types){
 $mime_types['svg'] = 'image/svg+xml'; // povolí .svg
 $mime_types['psd'] = 'image/vnd.adobe.photoshop'; // povolí .psd
 $mime_types['.abw'] = 'application/x-abiword'; // povolí .abw
 return $mime_types; 
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
Jak je z příkladu patrné, pro více souborů je skript stále stejný. Přidávají se do něj pouze řádky, které definují další typy souborů, které budete chtít povolit.

Jakmile danou část kódu viz výše do skriptu přidáte a tento uložíte, měl by jít daný typ souboru pomocí WordPressu nahrát. Zároveň také ihned vyzkoušejte funkčnost Vašeho webu, abyste si ověřili, že nedošlo k chybě, nebo k problému se zobrazením webu.