get_the_excerpt( $post = null )
- $post
- (целое|WP_Post) Передайте в функцию ID какого-то конкретного поста или его объект, если вам нужно получить его отрывок / начало контента. По умолчанию будет возвращена цитата текущего поста в цикле. Кстати, параметр появился в версии 4.5, до этого без него было грустновато.
Функция возвращает:
Пример. Выводим отрывок, только если заполнен
Выводим отрывок поста с ID = 5, проверяем функцией has_excerpt(), если отрывок не задан, тогда не выводим обрезанный контент и вообще ничего:
$post_id = 5; if( has_excerpt( $post_id ) ) { echo get_the_excerpt( $post_id ); }
Также вы можете вывести отрывок уже с применением фильтров при помощи функции the_excerpt().
Фильтр get_the_excerpt
У функции есть фильтр get_the_excerpt
, который применяется в самом конце функции на отрывок из объекта поста $post->post_excerpt
. По сути именно этот фильтр по умолчанию и делает работу по обрезке цитаты из контента, применяя к ней функцию wp_trim_excerpt().
Мы же, при помощи этого фильтра давайте сделаем так, чтобы цитата никогда не выводилась для поста с ID=5.
add_filter( 'get_the_excerpt', 'true_no_excerpt_for_post_5', 25, 2 ); function true_no_excerpt_for_post_5( $excerpt, $post ) { if( 5 === $post->ID ) { $excerpt = ''; } return $excerpt; }
Не знаете, куда вставлять код?