Uvozovky a jejich formátování ve WordPressu

Mnohokrát se už objevily dotazy na formátování uvozovek ve WordPressu. Někomu se nelíbí, že jsou klasické rovné (programátorské) uvozovky automaticky formátovány na české kulaté, někomu se zase nezdají dost kulaté. Podívejme se tedy na celou problematiku trošku detailněji…

Začneme s klasickými rovnými programátorskými uvozovkami, které jsou ideální např. pro ukázky nějakého zdrojového kódu.

"uvozovky"

Ve WordPressu je v Editoru či HTML napíšeme jednoduše pomocí klávesnice. Ale co se stane po publikaci příspěvku? WordPress nám chce pomocí funkce wptexturize() pomoci uvozovky správně naformátovat, takže z nich automaticky udělá HTML entity. Zjednodušeně řečeno tedy WordPress vezme klasické rovné (programátorské) uvozovky napsané v editoru a změní je na správné kulaté (udělá z nich HTML entity).

“uvozovky”

A protože se použití uvozovek liší v jednotlivých zemích (čeština používá levé dolní uvozovky ve tvaru 99 a pravé horní ve tvaru 66), tak je toto formátování ještě navíc gettextováno (a formát uvozovek je tak ponechán na překladatelích). Soubor s přeloženou češtinou tedy nahradí uvozovky tak, aby byly správně (anglickou levou horní uvozovku změní na levou dolní pravou horní otočí z tvaru 99 na správný tvar 66). V podstatě se tak jenom nahradí HTML entity (viz obrázek). Tedy zatím se tomu tak nedělo a nová úprava byla do češtiny přidána díky uživateli syntax, který nás na to upozornil a patří mu za to díky. Upravený lokalizační soubor pro WordPress 2.8.2 si můžete stáhnout zde (do automatické aktualizace bude změna přidána s následující verzí WordPressu). Nikde se však nic nepřepisuje, vše zůstává tak, jak to napíšete, uvozovky jsou pouze jinak zobrazovány, takže nepřijdete o žádná data.

Uvozovky - entity

Takže teď už máme uvozovky správně česky, ale proč nejsou tak pěkně kulaté? Další problém totiž ještě spočívá v hodnotě CSS (font-family). Mnoho šablon má totiž nastaven anglický font, kde nejsou uvozovky tak pěkně zakulacené. Na obrázku vidíte rozdíl mezi jednotlivými fonty (Verdana x Trebuchet MS).

Uvozovky zakulacení

Jak tedy jednoduše řešit problémy s uvozovkami?

Moje uvozovky nejsou na webu tak hezky kulaté. Podívejte se u daného elementu na definici font-family v souboru style.css a změňte případně font na nějaký “hezčí”. Pozor: Uvozovky mohou vypadat jinak v Editoru (font Georgia, hezky kulaté), jinak v HTML (Verdana, nejsou už hezky zakulacené) a možná i trochu jinak přímo na vašem webu (podle použitého fontu v CSS). Jde však pouze o jejich zobrazování a není to problém WordPressu nebo jeho překladu.

Jak psát správně uvozovky? Nejlépe klasicky z klávesnice, v Editoru sice budou vypadat jako anglické rovné (programátorské) uvozovky, ale WordPress a čeština se už postarají, aby to na webu vypadalo všechno hezky česky. Pokud kopírujete texty např. z Wordu, tak už si nakopírujete klasické české dolní a horní uvozovky, které budou už jen zobrazovány pomocí CSS a WordPress je nebude dále formátovat.

Nechci, aby mi to WordPress nějak upravoval, chci tam mít klasické rovné uvozovky. Nic jednoduššího. Používejte na záložce HTML značku <code>. Pokud do ní uvozovky uzavřete, nebudou už dále formátovány, což je ideální např. pro ukázky zdrojového kódu. A pokud to tak chcete na celém webu? Také to je možné, i když z hlediska češtiny to budete mít špatně. Stačí použít některý z pluginů, který formátování vypíná, např. WP Unformatted, kde si můžete formátování (nejen) uvozovek vypínat i pro jednotlivé příspěvky pomocí definovaného uživatelského pole.

Nejoblíbenější hosting pro WordPress WEDOS.cz

9 komentářů u „Uvozovky a jejich formátování ve WordPressu“

  1. Zdravim, potrebuji ve WP mit klasicke programatorske uvozovky. Kde presne v souboru s cestinou to mohu upravit?

  2. Soubor s češtinou v tomto případě nepomůže, přečtěte si poslední odstavec (je na to plugin, nebo používejte html tag code).

  3. Jak nepomuze? Viz text: “Soubor s přeloženou češtinou tedy nahradí uvozovky tak, aby byly správně”.

  4. Dany: Čeština pro WordPress 2.8.3 vyjde za chvílku.

    mk: Ano, nepomůže. Soubor s přeloženou češtinou nahradí uvozovky tak, aby byly správně česky (tzn. levá dolní uvozovka a pravá horní). Ale už předtím samotný WordPress upraví rovné programátorské uvozovky na anglické kulaté uvozovky (obě horní, ale kulaté). Takže čeština udělá pouze z anglických kulatých české kulaté, ale původní rovné upravuje už rovnou WordPress.

  5. separatista: “mk: Ano, nepomůže. Soubor s přeloženou češtinou nahradí uvozovky tak, aby byly správně česky (tzn. levá dolní uvozovka a pravá horní). Ale už předtím samotný WordPress upraví rovné programátorské uvozovky na anglické kulaté uvozovky (obě horní, ale kulaté). Takže čeština udělá pouze z anglických kulatých české kulaté, ale původní rovné upravuje už rovnou WordPress.”

    Ale to presne mam na mysli. Kdyz v souboru cestiny budou pouzity rovne uvozovky, WordPress uz je nijak neupravi a na webu budou rovne…

  6. Tak takhle mě to nenapadlo. Teoreticky (nezkoušel jsem) tedy asi jde, že WordPress udělá z rovných uvozovek automaticky anglické kulaté a když si to změníte v souboru s češtinou, tak by mohly být změněny na programátorské rovné. Ale není to ideální řešení, protože tomu tak bude i všude v textu a tyto uvozovky pak budou vlastně česky nesprávné…

  7. Ahoj,

    na čisté aktuální instalaci WP se mi uvozovky nepřepisují do správného českého tvaru, jak by se podle článku asi mělo, ale zůstávají ve tvaru 66 a 99 v horním indexu. Změnilo se něco od doby, kdy vyšel tento článek, případně jak donutím WP, aby mi uvozovky opět správně formátoval?

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *