Výběr avataru komentujícími

Nejprve upozorním, že výběr avataru se netýká zaregistrovaného uživatele, který by si tak ke svému účtu přidal vlastní avatar, tak tomu bohužel není. Jedná se ryze o přidání avataru ke komentáři, který si komentující pro daný komentář vybere, ať již registrován je či není.

Může to být nicméně zajímavé oživení komentářů, nabídka vlastních avatarů, které si […]

Validace kódu WordPressu – plugin Validation Helper

Ráda podporuji české tvůrce pluginů, takže když jsem na webtrhu narazila na lelkounův příspěvek, že vytvořil plugin pro (HTML) validaci kódu WordPressu, rozhodla jsem se, že se o tom zmíním i zde.

Plugin převede XHTML kód do validního HTML, můžete plugin vyzkoušet a připojit případné připomínky přímo na webu tvůrce (lelkoun.cz). Určený je pro WordPress 2.9 […]

Jak nakopnout WordPress správným směrem

Tento návod je určen spíše pro začátečníky, kteří si právě nainstalovali WordPress. Je pravděpodobné, že pokročilí uživatelé budou znát většinu informací, které zde uvádím. Nicméně i těm doporučuji přečíst si článek – už jenom kvůli ověření a osvěžení nabytých vědomostí.
Čistě nainstalovaný redakční systém WordPress je prázdný, postrádá celou řadu funkcí a potřebuje změnit […]

Validace kódu WordPressu

Dnes jsem konečně oficiálně zveřejnil plugin ušitý pro WordPress zvaný Validation Helper. Tentokrát se opravdu nejedná o žádný apríl, byť by tuto myšlenku mohlo podporovat dnešní datum.
Validation Helper je určen pro všechny uživatele, kteří nejsou spokojeni s nevalidním zdrojovým kódem své šablony. Plugin automaticky převádí XHTML kód na HTML, čímž se odstraní většina chyb. V […]

Rozdělení textu do dvou sloupců

Potřebujete-li někde uplatnit rozdělení textu do dvou sloupců, respektive nerozdělené hlavičky a dvou sloupců, pak oceníte plugin WP Columns.

Administrace pluginu se přidá poněkud netradičně do bočního menu přímo pod hlavičku Pluginy (a ne pod Nastavení), kde si určíte, jakou podobu bude mít „rozdělovač“, defaultně je to: /—/. Zde si také můžete nastavit CSS třídu, […]

Simple Download Monitor pro WordPress

Simple Download Monitor je mým prvním pokusem o vytvoření pluginu pro publikační systém WordPress. Napsal jsem ho proto, že jsem chtěl mít nějakou statistiku o počtu stažení jednotlivých souborů a přitom nemusel vytvářet speciální databázi souborů ke stažení, modifikovat odkazy a podobně. Prostě jsem chtěl pokračovat v tom, jak soubory publikuji teď – pomocí FTP […]

IP-to-Country pro WordPress

Pro WordPress existuje celá řada pluginů pro geolokaci uživatele (to méně vznešenými slovy znamená, že k dané IP adrese přiřazuji stát a v lepším případě i město). Jak jsem však zjistil, všechny mají jeden zásadní nedostatek: jsou určeny pro uživatele WordPressu, ne pro jeho programátory. Pokusil jsem se tento nedostatek napravit pluginem IP-to-Country, který neposkytuje […]

Postavme si téma část 1.

Na úvod chci napsat něco o tématech obecně. Téma je vlastně HTML šablona, která obléká, jako kabát, redakční systém WordPress. Můžete si tedy vytvořit jakýkoliv HTML layout a ten si do tématu poskládat. Budu počítat s tím, že vy, kteří tento článek čtete jste schopni nějaký ten layout vytvořit, zaměřím se na konstrukci tématu jakožto […]

Plugin TopList.cz umí odfiltrovat administrátory webu

Před časem jsem vyrobil plugin TopList.cz pro systém WordPress, díky němuž lze snadno integrovat tuto populární českou statistickou službu do blogu založeného právě na známém blogovacím systému. Když ale člověk obecně zařadí takovou službu na své stránky, zjistí nemilou záležitost: do statistik se mu začnou započítávat i jeho vlastní návštěvy: když publikujete článeček a chcete se podívat na náhled, jak bude vypadat, šup, a už je tam započítaný hit. Ale to není dobré, mě vůbec nezajímá, jak na své stránky chodím já. Chci vědět, jak na ně chodí jiní.

TopList.cz neumí žádné filtrování na straně statistického serveru (např. na základě IP adresy), to ale nevadí, protože stejně je nejlepší zajistit filtrování na straně publikačního systému. Zjednodušeně tak, že pokud je přihlášen uživatel s dostatenčnými oprávněními, tak se prostě kód pro statistickou službu vůbec negeneruje. A přesně toto jsem pro svůj plugin TopList.cz doprogramoval, což znamená, že na světě je nová verze pluginu, a to s číslem 3.1.

Volba se nazývá Protokolování administrátorů a zcela záměrně je ve výchozím stavu povolena, to znamená že i návštěvy administrátorů jsou stále započítávány do statistiky TopListu — takto je nastavení shodné v rámci zpětné kompatibility (např. aktualizací pluginu ze starší verze se nezmění jeho chování). Protokolování ale můžete zakázat a potom každý uživatel s úrovní vyšší, než je specifikovaná, bude odfiltrován: pokud je k webu přihlášen, pak se kód pro statistickou službu negeneruje a tudíž jeho pohyb po webových stránkách není do statistiky započítán. Pokud byste chtěli vědět, jakou úroveň má který typ uživatele, podrobný popis najdete na webových stránkách WordPressu (anglicky).

Administrace pluginu TopList.cz včetně filtrace administrátorů

Administrace pluginu TopList.cz včetně filtrace administrátorů

To, že se negeneruje statistický kód ovšem znamená také to, že pokud jste si na své stránky umístili viditelnou ikonu TopListu, pak ta se vůbec nezobrazí. Bohužel to tak je, TopList neumožňuje zobrazit ikonu aniž by byla započítána statistická data. Takže na to upozorňuji, pokud volbu Protokolování administrátorů zakážete, pak se adminům nebude ikona zobrazovat. Všem ostatním se zobrazovat bude — jak anonymním návštěvníkům Vašeho webu, tak registrovaným uživatelů, kteří mají úroveň nižší než určenou.

Aktualizace pluginu se Vám sama nabídne v administraci WordPressu, tedy pochopitelně pokud používáte WordPress ve verzi alespoň 2.8, jelikož plugin již ve starších verzích tohoto publikačního systému nefunguje. Případně si jej můžete stáhnout přes prolink z mých stránek.

Poznámka: Soubor ke stažení byl vložen do příspěvku, pokud jej chcete stáhnout, musíte příspěvek otevřít.

Zalomení/tvrdá mezera: plugin do WordPressu pro předložky k, s, v, z

Začnu citací z webových stránek Ústavu pro jazyk český, Akademie věd České Republiky:

Upravujeme-li písemný dokument, radí nám Pravidla českého pravopisu nepsat neslabičné předložky v, s, z, k na konec řádku, ale psát je na stejný řádek se slovem, které nese přízvuk (např. ve spojení k mostu, s bratrem, v Plzni, z nádraží). Typografické normy jsou ještě přísnější: podle některých je nepatřičné ponechat na konci řádku jakékoli jednopísmenné slovo, tedy také předložky a spojky a, i, o, u;. Někteří pisatelé dokonce nechtějí z estetických důvodů ponechávat na konci řádků jakékoli jednoslabičné výrazy (např. ve, ke, ku, že, na, do, od, pod).

Takže jednoduše, předložky k, s, vz by neměly zůstat trčet osamocené na konci řádku jako poslední slovo, ale měly by být dohromady na jednom řádku se slovem, kterému předcházejí, tedy měly by se přesunout na další řádek. Velice dobře si vzpomínám, jak jsme se toto pravidlo učili ve škole v češtině a jak byla tato chyba při diktátech a slohových prací zakroužkována červenou propiskou a známka byla hned horší. Ale ono to má svůj smysl, aby tomu tak bylo, text je totiž lépe čitelný.

Tato záležitost samozřejmě nedělá problém jen školákům, ale také (nebo spíš především) počítačovým programům. Pamatuji se, jaká sláva to byla, když MS Word začal toto reflektovat a za uvedené předložky začal automaticky vkládat tvrdou mezeru. Jedná se ovšem o výjimku a většina systémů toto neumí. Samozřejmě je vhodné, aby toto uměl právě počítačový program a neřešil to uživatel. Je skutečně zapotřebí dát tvrdou mezeru za každou tuto předložku, nejen za ty, které zůstaly trčet na koncích řádků (důvodem je, že dopsáním další věty doprostřed odstavce nebo změnou šířky sloupce se celý text přeformátuje a muselo by se to dělat znova). A to po uživateli nelze chtít.

Řekněme si na rovinu, že z typografického hlediska není tvrdá mezera vůbec vhodným řešením. Tvrdá mezera je totiž definována jako nedělitelná mezera o šířce písmene ‘n’. Proto pokud si ve Wordu nastavíte zarovnání odstavce k oběma okrajům, můžete si všimnout, jak se běžné mezery mezi jednotlivými slovy natáhly, ale pozor, tvrdé mezery po neslabičných předložkách zůstaly stále stejně široké jako písmena. Vypadá to hloupě, ale bohužel Word jiné řešení neumí. Skutečné sazečské programy umožňují označit kus textu a nastavit, že ten nesmí být rozdělen řádkováním, a potom se mezera roztáhne na správnou šířku, ale text není rozdělen do dvou řádků. Takové je ideální řešení, ale u běžných programů na něj musíme bohužel zapomenout.

Příklad

No a protože WordPress je v tomto směru pole neorané, byl zde prostor pro to, abych vytvořil svůj druhý plugin do tohoto publikačního systému. A tak je zde a Vy si jej můžete stáhnout. Stačí ho nahrát do Vašeho WordPressu, aktivovat a voilà! Mezera za dotyčnými předložkami bude nahrazena tvrdou mezerou a nestane se, že by předložka zůstala trčet na konci řádku. Tedy texty můžete úplně normálně psát a používat klávesu mezera a plugin zajistí, že při zobrazení WordPressem bude ošetřeno případné zalomení v nežádoucím místě.

Plugin má i jednoduchou konfiguraci, kde si můžete zaškrtnout tři skupiny slov (předložky, spojky a zkratky), pro které má dojít k uvedenému zásahu a případně i specifikovat, o jaké konkrétní předložky, spojky a zkratky se jedná.

Realizace je provedena doplněním této funkcionality do již stávající funkce wp_posterize(). Proto je nahrazování prováděno jen na textech, které WordPress zpracovává touto funkcí – např. články. Texty, které nejsou touto funkcí zpracovány (např. texty ve widgetech) zůstanou tak jak jsou.

Konfigurace pluginu Zalomení

Konfigurace pluginu Zalomení

Vím, že v této chvíli plugin řeší pouze 3 z mnoha případů, kdy by bylo zapotřebí slova nerozdělit. Objemově se ovšem jedná o 99% potřebných případů — ostatní případy již nejsou tak časté. Proto nebudu slibovat, jestli některé další případy do pluginu postupně doplněním. Vyloučené to není, ale nespoléhejte na to. (Pokud by se chtěl nějaký programátor připojit a ty další případy do pluginu doplnit, ať se mi ozve mailem).

Poznámka: Soubor ke stažení byl vložen do příspěvku, pokud jej chcete stáhnout, musíte příspěvek otevřít.