Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Správné formátování na úvodní stránce.
Štítky: uvodni stranka formatovani
Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 13 let, 6 měsíců.
-
AutorPříspěvky
-
27. září 2010 (15:54) #732
Zdravím, používám theme CHANNEL, který je ke stažení zde: http://www.theme-junkie.com/themes/channel/
Když přidám článek a naformátuji jej do bloku, použiji tučná písma a různé jiné úpravy, tak pak se sice po kliknutí vše správně zobrazí, ale formátování nefunguje na stránce úvodní (soubor index.php). Zjistil jsem, že by chyba měla být asi ve funkci: tj_content_limit. Protože když tu vyměním za funkci <?php the_content(); ?>, která je v single.php, tak vše funguje, bohužel tato funkce mi zase nezkracuje články, ale vypíše je celé.
Můžete mi poradit, kde bych mohl upravit formátování pro funkci tj_content_limit, případně mi příklad i ukázat? Předem moc děkuji, nevím si s tím rady, jsem naprostý amatér a nerad bych něco pokazil. Díky.
27. září 2010 (21:25) #7308Pokud jde o zkracování článků, tak jsou dvě možnosti jak to vyřešit.
1) Využití tagu “more” – přímo v editoru při tvorbě příspěvku (http://en.support.wordpress.com/splitting-content/more-tag/)
2) Místo funkce the_content() použít funkci the_excerpt (http://codex.wordpress.org/Function_Reference/the_excerpt) – funkce ti vypíše prvních 55 slov z tvého článku -> nevýhodou je, že při zobrazování na hlavní stránce, to ztratí formátování odstavců etc (bohužel jsem se zatim nedozvěděl, jestli to jde nějak upravit), třeba poradí někdo zkušenější.
+ co zkusit třeba první odstavec hodit místo do pole editoru, do pole “Shrnutí článku”…hm?
28. září 2010 (4:52) #7309Clant: Možná jsme si teď nerozuměli, nejde mi o zkracování článku tagem more, jde mi o to, že daná šablona na hlavní stránce vypisuje články neformátovaně – to je můj problém a nevím co s tím :-(
28. září 2010 (4:59) #7310Tak, problém jsem vyřešil. Kdyby to potřeboval ještě někdo jiný, tak jsem prostě “<?php tj_content_limit(get_theme_mod(‘limit_char’)); ?>” nahradil za “<?php the_content(‘Čtěte více…’); ?>”. Funguje to, ale nechápu proč :-)
28. září 2010 (10:58) #7311Jirka84: Zajímavé je, že po nainstalvání uváděné šablony tam mám funkci the_content_limit() a nikoli tj_content_limit(). Každopádně bude funkčnost asi podobná, funkce the_content_limit() je definována v souboru functions.php v adresáři šablony. Cílem této funkce je, aby zkrátila úvodní text, tak aby byl u všech příspěvků podobný a vypadalo to v šabloně pěkně (občas totiž uživatel zapomene na značku more, nebo ji nedá přesně tam, kam by se podle vzhledu šablony hodila). Bohužel to má několik problémů, z nichž hlavní spočívá v tom, že se ořezává celý text, který ale může obsahovat nějaké HTML (např. strong pro tučné písmo). A když se to ořezává automaticky, tak se může stát, že by se uříznula např. ukončovací značka strong a nadělalo by to další problémy. A proto se z textu odebírá veškeré HTML, ponechává se pouze čistý text a až ten se ořízne podle nastaveného počtu znaků. Takže v tom spočívá celý problém nezobrazovaného formátování…
Druhý (podružný) problém se zobrazením celého textu patrně spočíval v použití funkce the_content(), což sice radí i na fóru autoři šablon, ale už jsi asi zapomněl vkládat do příspěvků značku more, která slouží právě k oddělení jakéhosi úvodníku (správně poradil výše Clant – díky!). Tolik snad vysvětlení – pokud jsou ještě nějaké nejasnosti, tak sem s nimi…
Clant: Druhý bod – použití funkce the_excerpt() je skoro stejné jako uváděné the_content_limit() a vysvětlení je podobné. Aby šlo udělat 55 slov, tak je oříznuto veškeré HTML. Jediným způsobem řešení automatického zkracování textu se zachováním formátování je napsání vlastní komplexní funkce, která využije několika funkcí WordPressu, jako např. strip_shortcodes(), wp_kses() a balanceTags(). Pokud se do toho chceš pustit, tak můžeš využít inspiraci.
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.