Funkce the_excerpt

Excerpt je funkce, která zobrazuje část výpisu článku a můžete se s ní setkat při výpisu článků na hlavní straně, v archívech a kategoriích. Délka výpisu je v základu nastavená na padesát pět slov a všechny html tagy jsou z něj odstraněny. Proto se v perexu, který je vytvořený pomocí the_excerpt a ne pomocí tagu more, nezobrazí žádné odkazy.

Funkce the_excerpt() rovnou vrací výpis z článku, není potřeba použít echo, pokud potřebujete získat výpis jako řetězec, použijte get_the_excerpt(). Funkce musí být použita uvnitř Loopu.

Použití

<?php the_excerpt(); ?>

Změna délky excerpt

function custom_excerpt_length( $length ) {
	return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

Pro změnu délky excerpt je použit filtr excerpt_lenght. Délku ovlivníte hodnotou, kterou vrací funkce custom_excerpt_length, pokud použijete podmiňovací funkce, můžete měnit délku excerptu v závislosti na kategorii, zda jde o homepage, či archív autora.

Odstranění […] z excerpt

function new_excerpt_more( $more ) {
	return '';
}
add_filter('excerpt_more', 'new_excerpt_more');

Opět je použit filtr, tentokrát excerpt_more a díky return “, se nezobrazí nic. Pokud to změníme na return ‚Článek pokračuje‘, tak se na konci excerptu zobrazí uvedený řetězec.

Stejně tak, můžeme pomocí excerpt_more vytvořit na konci excerptu odkaz „Číst více“.

function new_excerpt_more( $more ) {
return ' <a class="read-more" href="'. get_permalink( get_the_ID() ) . '">Číst více</a>';
}
add_filter( 'excerpt_more', 'new_excerpt_more' );

Pozn. pro popis funkce byl použit originální kód z WordPress.org Codexu.

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

5 Comments

  1. mirekk

    Tak přesně tohle jsem potřeboval. Na jaře jsem koupil šablonu DW-Focus, ve které jsem se marně snažil zkrácené výpisy nastavit. Dnes jsem se dal inspirovat tímto příspěvkem a povedlo se. Zjistil jsem přitom, že tvůrci prémiové šablony jaksi do functcions.php nedali délku výpisu, i když je potřeba např. ve výpisech archivních příspěvků, kde jinak přetékají za okraje mřížky.
    A přitom jsem tam našel ještě dvě chyby – místo „excerpt“ bylo ve functions.php „exceprt“. Oni se vůbec dost pletou ve znacích: když jsem šablonu alespoň trochu překládal, plno řetězců nešlo načíst do .po souboru (soubor .po není v balení musel jsem si pomoci pluginem). A právě v řetězcích pro překlad bylo asi 100 chyb – místo „podtržítka“ „mínus“.
    Díky moc

    Odpověď
  2. Musilda

    Díky za komentář, jsem rád, že někdo čte i jiné posty, než jen o pluginech a free šablonách.

    Odpověď
  3. Tom

    Ahoj.
    Moc děkuji za první vysvětlení, které mě nakoplo co dělat. Jenže jsem v koncích.. Používám twentyfourteen šablonu a chci zkrátit text článků ve výpisech. jenže nevím, kam to dát. nejdál jsem se dostal k tomu, že se výpis ukázal, ale nad článkem a pak byl náhled a pod tím celý článek. Poradíš, prosím?

    Díky moc.

    Odpověď
  4. Daniel

    Ahoj
    mám k tomu otázku. V šabloně kterou používám mi tahle funkce vypisuje/zobrazuje na stránce eshop kategorie (woocommerce) popis té kategorie (což chci). Ale jen když v ní nejsou produkty. Jakmile přidám do kategorie produkty, prestane se popis zobrazovat. Da se to nejak nastavit tak, aby se popis zobrazoval vzdy?

    diky
    D.

    Odpověď
  5. AW

    Řekl bych, že použití the_excerpt() je v tomhle případě nevhodné, zkusil bych místo toho the_archive_description().

    Odpověď

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *