Jak povolit zakázané typy souborů - Affinite.io CZ

Nahrávání určitých typů souborů je ve WordPressu z bezpečnostních důvodů zakázáno. Ukážeme si postup, jak povolit nahrávání například svg, nebo xlsx souborů do knihovny médií.

Tento typ souboru není z bezpečnostních důvodů povolen.

To je hláška, kterou nám WordPress zobrazí ve chvíli, kdy se pokusíme do médií nahrát například svg ikonu. Soubor s příponou svg patří totiž mezi ty, které jsou blokovány.

Naštěstí, jako spoustu jiných věcí ve WP to můžete změnit.

Jak zjistit, které typy souborů jsou povoleny?

Je na to funkce, která vrátí pole všech povolených typů. Stačí napsat:

print_r( get_allowed_mime_types() );

a vypíší se vám všechny povolené soubory.

Jak povolit další tipy souborů?

Výše zmíněná funkce má filtr pomocí kterého můžete rozšířit pole povolených typů:

upload_mimes

Přijímá dva argumenty – pole typů a uživatele. Uživatele proto, že kontroluje zda má oprávnění pro nahrávání nefiltrovaného html:

user_can( $user, 'unfiltered_html' )

Pokud toto oprávnění nemá, tak z pole povolených souborů odstraní html a js.

Pro povolení dalších typů stačí použít první argument filtru $types, což je pole, kde klíč je přípona souboru a hodnota je jeho typ:

'rar' => 'application/rar',

Pokud tedy chcete rozšířit pole povolených souborů, použijete filtr takto:

add_filter( 'upload_mimes', 'expand_upload_mimes', 10, 1 );
function expand_upload_mimes( $mimes ){

    $mimes['csv'] = 'text/csv';

    return $mimes;

}

Tím rozšíříte pole o další položku a povolíte csv soubory.

Pluginy

Protože se jedná o poměrně jednoduchou záležitost, existují na to i pluginy, které vám to umožní povolit z administrace. Zde jsou dva z nich.

WP Add Mime Types – https://cs.wordpress.org/plugins/wp-add-mime-types/

Mime Types Plus – https://wordpress.org/plugins/mime-types-plus/

Co dál?

Tento nadpis jsem na závěr zvolil záměrně. Návody, jako je tento najdete, když budete hledat. A v nich se dočtete jenom to, jak máte povolit jiné typy souborů.

Ok, příponu známe, třeba xlsx, co ale napsat do hodnoty položky pole? Kde je nějaký seznam? Není. Nebo jsem ho prostě nenašel.

Avšak, tento odkaz vás zavede přímo do části kódu, kde je seznam vypsán. a tam již najdete co potřebujete https://core.trac.wordpress.org/browser/tags/5.4/src/wp-includes/functions.php#L3019

Co je zobrazování chyb ve WordPressu neboli debug
Co je zobrazování chyb ve WordPressu neboli debug
01 Kvě, 2020
Vážná zranitelnost pluginů Elementor Pro a Ultimate Addons for Elementor
Vážná zranitelnost pluginů Elementor Pro a Ultimate Addons for Elementor
07 Kvě, 2020

Komentáře nejsou povoleny.

Looking for something?