Если в функцию не передавать значение параметра, то она вернёт отрывок текущей записи в цикле. Смотрите мой видеоурок про циклы WordPress.
get_the_excerpt( $post = null )
Функция возвращает:
<!--more-->
, по умолчанию 55 слов, читайте тут, как изменить. А ещё в конце такого отрывка добавляются символы […]
, которые тоже можно изменить.Выводим отрывок поста с ID = 5, проверяем функцией has_excerpt(), если отрывок не задан, тогда не выводим обрезанный контент и вообще ничего:
$post_id = 5; if( has_excerpt( $post_id ) ) { echo get_the_excerpt( $post_id ); }
Также вы можете вывести отрывок уже с применением фильтров при помощи функции 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; }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Михаил спасибо за статью но вы забыли одну кавычку закрывающую тут
if( has_excerpt( $post_id ))
Спасибо, исправил!