Hlavička - Mezi monitorem a židlí

Jak se zbavit nechtěného automatického formátování WordPressu

vypnutí automatického formátování wordpressuPokud nepoužíváte WordPress jen na psaní blogu, ale jako redakční systém, který umožňuje majiteli webu měnit a upravovat obsah svých stránek, nejspíš jste narazili na jednu nepříjemnou vychytávku WordPressu. Vaše texty se za vás pokusí automaticky upravovat a formátovat. WordPress je v tomhle ohledu trochu jako Word a další produkty Microsoftu, předpokládá, že jste diletant, který se nechce učit základy, a tak udělá některé věci za vás. Tento příspěvek je o tom, jak WordPress selektivně v potřebných příspěvcích umravnit.

Zbavte se nechtěného odřádkování (automaticky vložených tagů <br />)

Před časem jsem doslova šílel, když jsem chtěl udělat matici floatovaných obrázků, kterou jsem si pěkně přehledně zformátoval v html. Všude to fungovalo, jen ve WordPressu nebyly obrázky pěkně v rovině, ale každý další byl o řádek níž, takže dělaly (ne)pěkné schody. Když jste prozkoumali zdrojový kód třeba Firebugem, zjistili jste, že mezi obrázky byla vložena zalomení řádku (tagy <br />).

Na tuto bolest byl jednoduchý lék: stačilo v přehledně zformátovaném html kódu zrušit odřádkování a všechny tagy slepit těsně k sobě. Je to sice naprosto nepřehledné, ale dosáhnete tím kýženého výsledku.

Další možností by bylo pomocí css nastavit tagy br v matici jako neviditelné – celou matici např. zabalíte do divu s nastavenou třídou a breakům v této matici nastavíte display: none; . Příklad:
do stránky umístíte:

<div class="matice">
    <img src=".... />
    <img src=".... />
</div>

v CSS stylesheetu pak definujete:

.matice br {
    display: none;
}

 Zrušte všechny automatické úpravy formátování

Horší situace nastala nyní, když jsem se pokoušel převést jeden formulář (test) z HTML souboru přímo do stránky WordPressu. Testový formulář obsahoval roletky (prvky select) vložené přímo doprostřed vět. WordPress však test vylepšil tak, že roletka byla vždy na samostatném řádku. Navíc se za roletkou objeví nechtěně tag <p> – tedy značka pro odstavec! Trik s pospojováním tagů v tomto případě nezabere.

Na vině je speciální funkce wpautop() WordPressu, která celou řadu HTML prvků převede nuceně na blokové. Více o této funkci uvádí článek A look at WordPress filters. Disable wpautop() on post formatting. Dozvíte se z něj například i to, jak funkci vypnout.

Článek uvádí zdrojový kód jednoduchého pluginu, který funkci vypne paušálně na celém webu.

Plugin WP Unformatted

V mém případě bylo vhodnější vypnout funkci selektivně – jen v příspěvcích či stránkách, kde je to žádoucí. V tom případě doporučuji plugin Alexe Kinga s názvem  WP Unformatted (další zajímavé pluginy od stejného autora).

Použití pluginu je jednoduché – plugin nainstalujete standardním způsobem – stažený archiv rozbalíte do složky /wp-content/plugins a v administraci ho aktivujete.

V příspěvku, ve kterém chcete formátování zrušit přidáte uživatelské pole s názvem sponge a jeho hodnotu nastavíte na 1.

uživatelské pole sponge ve WordPressu pro odstranění formátování pomocí pluginu WP Unformatted

Plugin umí ještě vypínat automatickou náhradu uvozovek, pomocí uživatelského pole s názvem sandpaper, jehož hodnotu nastavíte na 1.

Pokud v editačním formuláři příspěvku nevidíte sekci pro uživatelská pole, klikněte vpravo nahoře na záložku Nastavení zobrazovaných informací a zaškrtněte políčko Uživatelská pole.

Zviditelnění sekce pro uživatelská pole v editačním formuláři příspěvku WordPressu

 

 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.