Excerpt je velmi používaná funkce ve WordPress šablonách, ale ne vždy se chová tak jak očekáváme. Proč je tomu tak a jaký je rozdíl mezi manuálním a automatickým excerpt.
Nejprve, co to je zkrácený výpis, neboli excerpt.
S tím se setkáte v šablonách velmi často a jedná se úryvek textu, který je vytvořen z části hlavního článu automaticky. Na druhou stranu můžete excerpt vytvořit ručně a to vložením textu do boxu „Stručný výpis příspěvku“.
Jaký je mezi nimi rozdíl?
Ručně vytvořený excerpt vložíte při vytváření článku, nebo jeho úpravě, do tohoto textového pole:
Díky tomu získáte kontrolu nad tím, co se vám ve výpise článků bude zobrazovat, protože WordPress tento záznam vždy upřednostní. Uložen je do sloupce post_excerpt v tabulce wp_posts:
Pokud budete vypisovat hodnoty postu pomocí global $post, bude to $post->post_excerpt. Další výhodou je možnost použití html tagů, takže můžete mít v perexu článku i odkazy.
Ale pozor! Pokud použijete funkci the_excerpt(), bude automaticky kontrolovat jeho existenci a vy se nemusíte již o nic starat.
Automatický excerpt
Automatický excerpt se vytvoří v případě, že šablona používá funkci the_excerpt() a manuální stručný výpis není k dispozici. Pak vezme obsah článku, vyfiltruje z něj všechny html tagy a získaný text ořízne na určitý počet slov.
Nevýhodou je, že ztratíte kontrolu nad tím, co přesně se zobrazuje v perexu článku a zároveň, pokud máte na začátku článku nějaký odkaz, tak ten se vám nezobrazí. Počet slov automatického excerptu se dá ovlivnit pomocí filtru a případná alternativa je použití funkce wp_trim_words().