get_the_excerpt() – возвращает отрывок (цитату) записи

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

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;
 
}

Не знаете, куда вставлять код?

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии