Funkcja the_excerpt() w WordPressie: implementacja i długość

Funkcja the_excerpt() w WordPressie jest powszechnie używana do wyświetlania krótkiego podsumowania lub zajawki wpisu. Jest szczególnie przydatna w sytuacjach, gdy chcesz pokazać skróconą wersję treści wpisu, na przykład na stronach archiwum lub w listach wpisów.

Domyślna implementacja

Wystarczy wywołać the_excerpt() wewnątrz pętli w pliku szablonu, aby WordPress automatycznie wygenerował zajawkę dla każdego wpisu na podstawie jego treści. Domyślnie długość zajawki jest ograniczona do 55 słów, ale można ją dostosować za pomocą filtrów.

<?php if(has_excerpt()) { ?>
    <div class="excerpt"><?php the_excerpt(); ?></div>
<?php } ?>

Alternatywnie można użyć funkcji get_the_excerpt():

<?php $excerpt = get_the_excerpt(); 
if ($excerpt) { ?>
    <div class="excerpt"><?php echo $excerpt; ?></div>
<?php } ?>

Własna długość zajawki

Aby kontrolować długość wyświetlanej zajawki, możesz użyć filtra excerpt_length. Na przykład, dodając poniższy kod do pliku functions.php swojej motywu, ustawisz długość zajawki na 10 słów:

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

Można też użyć funkcji wp_trim_words():

$excerpt = wp_trim_words( get_the_excerpt(), 10, '...' );
echo $excerpt;

Ten fragment kodu wyświetli zajawkę skróconą do maksymalnie 10 słów.

Zajawka wpisu na podstawie ID

Poniższy kod pozwala wyświetlić zajawkę wpisu na podstawie jego ID, z użyciem funkcji has_excerpt():

<?php $post_id = 1;
if (has_excerpt( $post_id )) { ?>
    <div class="excerpt"><?php echo get_the_excerpt( $post_id ); ?></div>
<?php } ?>