Správné formátování na úvodní stránce.

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Správné formátování na úvodní stránce.

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ů.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #732

    Jirka84
    Participant

    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.

    #7308

    Clant
    Participant

    Pokud 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?

    #7309

    Jirka84
    Participant

    Clant: 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 :-(

    #7310

    Jirka84
    Participant

    Tak, 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č :-)

    #7311

    admin
    Keymaster
    Web

    Jirka84: 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.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti