Upload médií bez diakritiky na WordPressu

Tento článek (nebo jeho část) je převzat z externího zdroje. Je tedy slušností jej uvést včetně případného autora.

WordPress ponechává diakritiku v názvech při nahrávání souborů. Jak tyto nežádoucí znaky a další odstranit si ukážeme v dnešním návodu.

WordPress po uploadu souboru zanechá v názvu různé znaky, včetně těch českých. Na některých serverech poté nastane problém, po navštívení odkazu server vrátí Error404.

Řešení ale není tak jednoduché, jak by se mohlo zdát. Ukážeme si jedno řešení pomocí WordPress funkcí, druhé pomocí vlastních metod, které lze více přizpůsobit vlastním potřebám.

Odstranění pomocí funkcí WordPressu

WordPress obsahuje metodu remove_accents, která mnohé znaky dokáže odstranit. Přesto znaky řečtiny nebo ruštiny převede špatně, a odkazy poté fungovat nemusí. Pokud ale neočekáváte azbuku a jiné, může vám jednodušší řešení dostačovat.

Registrujeme filtr a funkci k němu, která se zavolá vždy po nahrání souboru.

Vlastní řešení

Pokud očekáváte i další znaky, nebo jen máte rádi kontrolu nad názvy a chcete se ujistit, že žádný znak nebude dělat problémy, můžete využít následujícího kódu. Chová se stejně jako předchozí, můžete ale si nadefinovat vlastní znaky pro nahrazení.  Můžete tedy přidat i řeckou abecedu, azbuku a co si jen zamanete.