Upraveno 6 prosince, 2023 00:18
Pokud používáte na webu redakční systém WordPress, pak nejspíše víte, že má z důvodu větší bezpečnosti povoleno nahrávat pouze určité typy souborů. Jsou to soubory, které běžně používáte při práci s počítačem a jedná se obvykle o soubory s obrázky, dokumenty nebo s videi. Jakékoliv jiné, méně typické formáty souborů jsou bohužel standardně ve WordPressu zakázány a je nutné je povolit ručně. Pokud jste si tedy někdy kladli otázku, „jak můžu ve WordPressu nahrát nepovolený typ souboru“, pak jste zde správně. Pojďme se podívat, jak na to.
Jak můžu ve WordPressu nahrát nepovolený typ souboru?
Pokud byste se snažili o přidání jakéhokoliv jiného, než povoleného formátu souboru, vrátí Vám WordPress tuto chybovou hlášku.
Proto si nyní ukážeme postup, jak pomocí souboru function.php docílíme povolení i jiných koncovek k uploadu.
Úprava souboru function.php
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čuji provést zálohu samotné šablony, nebo alespoň celého kódu skriptu function.php.
Funkce souboru function.php je neoddiskutovatelná, protože při každém načtení WordPressu je spuštěn a jeho obsah je interpretován. Tento soubor slouží jako místo, kde mohou tvůrci webu vložit vlastní PHP kód a přizpůsobit tak různé aspekty webových stránek.
V souboru function.php můžete definovat vlastní funkce, které rozšiřují standardní funkcionality WordPressu. Tyto funkce mohou sloužit k přidání nových vlastností, manipulaci s obsahem, změně vzhledu a chování tématu nebo přidání nových uživatelských rolí. Díky tomu je možné vytvořit unikátní a specifické webové stránky, které odpovídají individuálním požadavkům a potřebám.
Soubor function.php také umožňuje registraci a konfiguraci pluginů, což zajišťuje správnou integraci externích funkcionalit do WordPressu. To může zahrnovat přidání vlastních administrativních stránek, přizpůsobení nastavení pluginů, nebo provádění různých akcí a filtrů, které ovlivňují chování a výstup webu.
Pro úpravu skriptu function.php postupujte následovně:
- přihlaste se do administrace svého WordPressu
- v levém menu klikněte na položku „Vzhled“
- následně v podmenu se přesuňte na položku „Editor souboru šablony“
- v pravém menu, s výběrem souborů šablony vyberte „function.php“
- na konec skriptu v editoru vložte níže uvedený kód
- klikněte na „aktualizovat soubor“
Kód, který vložíte do souboru function.php
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 nás bude nejvíce zajímat tento řádek:
$mime_types['svg'] = 'image/svg+xml'; //Povolí .svg
V tomto řádku totiž definujete koncovku souboru. Co se týče našeho případu, je to soubor .svg a zároveň v něm definujete jeho MIME typ.
Tento MIME typ se skládá z dvou částí: typu a podtypu, oddělených lomítkem. Typ reprezentuje obecnou kategorii dat, jako jsou text, obrázky, zvuk nebo video. Podtyp pak blíže specifikuje konkrétní formát dat uvnitř dané kategorie.
Například MIME typ pro běžný textový soubor ve formátu HTML je "text/html", pro obrázek ve formátu JPEG je to "image/jpeg" a pro zvukový soubor ve formátu MP3 je to "audio/mpeg".
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 mohu vložit kód pro povolení více souborů najednou?
Princip je naprosto stejný jako ve výše uvedeném případu. Pouze vložíte každý další soubor na nový řádek. Ukažme si 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 si můžete všimnout, kód se změnil pouze v tom, že namísto jednoho řádku s povoleným SVG souborem tam nyní mámme řádky tři. Povolili jsme tak nejen .svg soubor ale i soubor .psd a .abw.
Jak můžu ve WordPressu nahrát nepovolený typ souboru?
Závěr
Závěrem bych pouze dodal, že WordPress nemá ostatní soubory zakázané jen tak. Vždy velice dobře zvažte, zda další typ souborů povolíte, či nikoliv. Pokud se mělo jednat o jednorázové nahrání souboru na web, je možná lepší takový soubor nahrát pomocí FTP, a další typy souborů ve WordPressu nepovolovat. Jde přeci jen i částečně o bezpečnost celého systému. Toto mějte vždy na paměti.
Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.
Byl pro Vás tento článek užitečný?
Klikni na počet hvězd pro hlasování.
Průměrné hodnocení. 0 / 5. Počet hlasování: 0
Zatím nehodnoceno! Buďte první
Je mi líto, že pro Vás nebyl článek užitečný.
Jak mohu vylepšit článek?
Řekněte mi, jak jej mohu zlepšit.
Odebírejte Newsletter
Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.