Editor může ukazovat dva spojovníky, ale na webu se zobrazí typografická pomlčka. Nedělá to editor při psaní, ale WordPress při přípravě obsahu k zobrazení. Na vině je funkce wptexturize().
Co WordPress s textem dělá
wptexturize() nahrazuje některé běžné znaky typografickými variantami. Dva spojovníky -- převádí na kratší pomlčku. Zápis -- s mezerami převádí na delší pomlčku. Mění také uvozovky, apostrofy nebo tři tečky.
Proto může být v editoru pořád --parametr, zatímco na stránce už vidíte jediný znak. Filtr obsahu se používá až poté, co WordPress načte text z databáze, a před jeho zobrazením. Změna tedy nemusí znamenat, že se přepsal uložený text. (Dokumentace filtru the_content)
Pokud potřebujete zachovat přesný zápis
Příkazy, parametry a jiné zápisy, kde záleží na každém znaku, označte jako kód. WordPress podle dokumentace vynechává z texturizace obsah v prvcích <code> a <pre> a také v shortcodu [code].
To je obvykle lepší řešení než vypínat typografické úpravy na celém webu. Značka kódu dává WordPressu najevo, že daný text nemá upravovat.
DODATEK: Díváte-li se na tento tip na webu, tak v titulku je vidět právě to, jak onen převod funguje. nejsou tam dva spojovníky, ale pomlčka. Protože do titulku nelze propašovat HTML formátování. A zjenvě je to ještě chyba, protože 365tipů má tuhle funkci potlačenou a nemělo by k tomu docházet. A je to i ukázka toho, že tohle rozhodnutí tvůrců WordPressu je dost nešťastné.
Jak texturizaci vypnout pro obsah
Pokud chcete automatické úpravy vypnout v celém obsahu příspěvků a stránek, můžete do functions.php aktivní šablony nebo její child theme přidat:
remove_filter('the_content', 'wptexturize');
Stejnou úpravu lze místo functions.php umístit do vlastního pluginu. Pokud kód vkládáte do functions.php, child theme pomáhá uchovat úpravu při aktualizaci původní šablony. Více k tomu je v tipu Jak přidávat vlastní věci do šablony WordPressu.
Pozor, tento filtr nevypne jen převod dvojitých spojovníků. WordPress přestane v obsahu upravovat i další typografické znaky. Týká se filtru the_content, neznamená to automaticky vypnutí wptexturize() ve všech dalších částech webu.
Pokud potřebujete vypnout wptexturize() úplně, WordPress nabízí také filtr run_wptexturize. To je ale širší zásah: vypne texturizaci napříč místy, kde se funkce používá. (Dokumentace filtru run_wptexturize)
Co zvolit?
Vadí-li vám změna jen u příkazů nebo parametrů, označte je jako kód.
remove_filter() použijte až tehdy, když chcete odstranit typografické úpravy z celého obsahu. Vypínat kvůli jedné pomlčce všechny automatické opravy uvozovek a dalších znaků je zbytečně široké řešení.
POZNÁMKA: Druhé (starší) trénování SKILL pro psaní článku v Hermes. Tohle už je verze 2.0.0 a má dvoukrokové zpracování, nejprve rešerše a napíše „co chce psát“, stručně. Po odsouhlasení napíše článek. Ale také delší zadání, protože tady to nebyl jen titulek, ale základní kostra. A myslím si, že výsledek je dost dobrý. Nutno dodat, že od té doby Hermes Bot prošel dalšími změnami, včetně toho, že se sám učí z tvorby článků. Tenhle tip psal někdy více než před měsícem.
