the_excerpt() WP 0.71
Выводит "отрывок" (цитату) поста или первые 55 слов контента, со вставкой в конец [...]
.
Используется внутри Цикла WordPress.
Если "Отрывок" не указан (указывается при создании поста), то функция "создаст" его самостоятельно из первых 55 слов контента. HTML теги, шорткоды и графика при этом будут вырезаны (они не будут учитываться при подсчете слов).
Если "Отрывок" указан, то он будет выведен как есть. Конструкция [...]
не добавляется в конец в этом случае.
Если текущая запись является вложением (выводится на странице: attachment.php или image.php), то эта функция выведет текст указанный в поле "описание" (caption) и текст не будет иметь на конце конструкции [...]
.
Итоговый текст (результат работы функции) пропускается через фильтр the_excerpt, который среди прочего обрабатывает текст функцией wpautop() - оборачивает цитату в тег <p>.
the_excerpt() и the_content()
Эта функция не обрабатывает тег <!--more-->
в контенте записи, поэтому иногда лучше использовать the_content().
Хуки из функции
Возвращает
Ничего. Выводит на экран короткий текст.
Использование
<?php the_excerpt(); ?>
Примеры
#1. Базовое использование
Выведем "Цитату" поста на страницах архивов (категории, метки, авторы, даты):
<?php the_excerpt(); ?>
#2. Использование вместе с условными тегами
Проверим является ли данная страница разделом категории, если да, то заменим the_content() на the_excerpt():
if ( is_category() ) { the_excerpt(); } else { the_content(); }
#3. Изменение длины обрезаемого текста
По умолчанию, длина по которому режется текст - это 55 слов, чтобы изменить этот параметр, можно использовать фильтр excerpt_length
, для этого поместите такой код в файл темы functions.php:
add_filter( 'excerpt_length', function(){ return 20; } );
#4. Удаление конструкции [...] на конце
По умолчанию, если текст обрезается, то в конце добавляется [...]
, изменить [...] можно через фильтр excerpt_more
. Добавим такой код в файл темы functions.php:
add_filter('excerpt_more', function($more) { return '...'; });
#5. Создаем ссылку "Читать дальше..." на конце
Опять используем фильтр excerpt_more
(для 2.9+). Скопируйте такой код в файл темы functions.php:
add_filter( 'excerpt_more', 'new_excerpt_more' ); function new_excerpt_more( $more ){ global $post; return '<a href="'. get_permalink($post) . '">Читать дальше...</a>'; }
Список изменений
С версии 0.71 | Введена. |
Код the_excerpt() the excerpt WP 5.6
function the_excerpt() {
/**
* Filters the displayed post excerpt.
*
* @since 0.71
*
* @see get_the_excerpt()
*
* @param string $post_excerpt The post excerpt.
*/
echo apply_filters( 'the_excerpt', get_the_excerpt() );
}Cвязанные функции
Из метки: excerpt (цитата отрывок фрагмент)
Еще из метки: loop (Цикл WP)
Еще из раздела: Записи: посты, страницы, ...
- edit_post_link()
- get_delete_post_link()
- get_edit_post_link()
- get_permalink()
- get_post_field()
- get_post_status()
- get_post_time()
- get_sample_permalink()
Еще из тегов шаблона: Записи: посты, страницы, ...
- body_class()
- get_post_format()
- have_posts()
- in_the_loop()
- next_image_link()
- next_post_link()
- next_posts_link()