Po nějaké době používání svého plug-inu Zalomení pro publikační systém WordPress jsem objevil několik slabých míst a také nějakou další funkcionalitu, kterou bych tam chtěl mít. A tak logicky vznikla nová verze 1.1, která toto řeší. Konkrétně se jedná o následující změny:
- Plug-in nyní umí nahrazovat mezery za pevné, pokud se mezera nachází mezi dvěma číslicemi. Mezera mezi číslicemi se totiž používá při formátování čísel — oddělování tisíců, milionů apod., případně při zápise telefonních čísel. V takovém případě mohlo dojít k rozdělení čísla zlomem řádku, což není žádoucí. Můžete si tedy zapnout (resp. ve výchozím stavu je zapnuto), že tyto mezery jsou nahrazeny za pevné a k rozdělení nedojde. Např. telefonní číslo 800 123 456.
- Plug-in neuměl nahradit obyčejnou mezeru za pevnou, pokud se předložka (nebo jiné slovo) nacházelo jako první za nějakou html značkou — např.
<em>v Olomouci</em>, tedy v Olomouci. Nyní to již umí. - Plug-in neuměl nahradit obyčejnou mezeru za pevnou, pokud se předložka (nebo jiné slovo) nacházelo jako první za otevírací závorkou — např. (v Olomouci). Nyní to již umí.
- Rozšířil jsem seznam výchozích zkratek (ze čtyř na dvacet čtyři), za něž se má vkládat pevná mezera.
- No a poslední věc, která už není tolik zajímavá z uživatelského hlediska, ale nedá mi to, abych ji nezmínil. První verze pluginu využívala pro svou funkčnost již stávající filtr
wp_posterize(), který se nachází ve WordPressu již ve výchozí instalaci. Abych mohl zrealizovat první dvě z výše uvedených změn, nebylo již možné tento stávající filtr jednoduše využít, takže jsem si napsal vlastní. Tedy uvnitř pod kapotou mého pluginu je změn o něco více.
Takže tradičně, pokud již máte nainstalovanou první verzi mého plug-inu, tak tato nová se Vám nabídne sama pomocí příjemného „one-click upgrade“, které WordPress umí. No a pokud jste ještě tento plug-in nevyzkoušeli a Váš web běží právě na WordPressu, tak si ho stáhněte a dejte mu šanci.
Zalomení plug-in pro WordPress (77,1 kB, 348 stažení)
Související články na honza.info:













Ahoj, díky za skvělý plugin! Chtěl bych se optat jestli by bylo možné plugin rozšířit i o „doplňování před“, např. měrné jednotky (m, dm, cm, mm, t, kg, g, l, atd.)
Ahoj Patriku, díky za reakci. Dobrý nápad na rozšíření funkcionality, zkusím najít kousek času a doplnit.
Ahoj Honzo, měl bych dotaz k případné (vlastní) úpravě plug-inu, tedy k úpravě proměnné $filters. Chtěl bych tvrdé mezery „ “ vyčlenit z fce „get_the_title()“. Nyní to jde s odstraněním „bloginfo, wp_title, the_title“ ze souboru zalomeni.php.
+ Nemám tvrdé mezery v „<?php echo urlencode(get_the_title()); ?>“ (použito pro výpis záložek pro sdílení odkazu – sociable bookmarks)
- Ale přijdu o výpis tvrdých mezer z míst jako je <h1> nebo výpisu podstránek (v mém případě „wp_list_pages“)
Neb bez úpravy plug-inu se „ “ ve fci „<?php echo urlencode(get_the_title()); ?>“ stane/nahradí „%26nbsp%3B“
Možná už nad tím sedím dlouho a řeším to oklikou
Díky za případné nápady nebo info jestli je to možné.
Ahoj Patriku, myslím, že nejrozumnější bude upravit výstup sociable bookmarks, kdežto plugin zalomení můžeš nechat být jak je. Řešení bych rozdělil do dvou rovin:
urlencode()se používá pro formátování řetězců, které mají vytvořit URL. Předpokládám, že ty ale ve výpisu záložek na daném místě nevytváříš URL, ale pouze vypisuješ text. Pak použij funkcihtmlentities() za tvrdou mezeruchr(160), funkcehtmlentities()to pouze vrátí nazpět a bude vše v pořádku:echo htmlentities(str_replace(" ", chr(160), get_the_title()));Doufám, že to pomůže.
Ahoj Honzo,
děkuji mnohokrát za radu. Web je v UTF-8 a
htmlentities()zbořily diakritiku. Tak jsem použilhtmlspecialchars()a je vše v pořádkuecho htmlspecialchars(str_replace(" ", chr(160), get_the_title()));Ahoj Honzo,
narazil jsem na konflikt s pluginem „WP Security Scan„, který slouží jenom k otestování bezpečnosti instalace WP, takže se v podstatě nic neděje.
A díky za upgrade Tvého pluginu pro WP 2.9.