the_excerpt()
Виводить “уривок” (цитату) посту або перші 55 слів контенту, зі вставкою в кінець [...].
Використовується всередині циклу WordPress .
Якщо “Уривок” не вказано (вказується при створенні поста), то функція “створить” його самостійно з перших 55 слів контенту. HTML теги, шорткод і графіка при цьому будуть вирізані (вони не будуть враховуватися при підрахунку слів).
Якщо “Уривок” вказано, то він буде виведений як є. Конструкція [...]не додається до кінця в цьому випадку.
Якщо поточний запис є вкладенням (виводиться на сторінці: attachment.php або image.php ), ця функція виведе текст вказаний у полі “опис” (caption) і текст не матиме на кінці конструкції [...].
Підсумковий текст (результат роботи функції) пропускається через фільтр wpautop() – обертає цитату тег <p> .
На відміну від the_content()
Ця функція не обробляє тег <!--more-->у вмісті запису, тому іноді краще використовувати the_content() .
В якості альтернативи цієї функції можна використовувати мою функцію kama_excerpt() . Вона працює швидше і має низку своїх переваг.
get_the_excerpt()
(гальмо) | 50000 разів – 39.68 сек
(дуже повільно) |
PHP 7.4.8, WP 5.8
Хуки з функції
Повертає
null. Нічого. Виводить на екран короткий текст.
Використання
<?php the_excerpt(); ?>
Приклади
#1 Створюємо посилання “Читати далі…” наприкінці
Знову використовуємо фільтр 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>';
}#2 Базове використання
Виведемо “Цитату” посту на сторінках архівів (категорії, мітки, автори, дати):
<?php the_excerpt(); ?>
#3 Використання разом із умовними тегами
Перевіримо, чи є ця сторінка розділом категорії, якщо так, то замінимо the_content() на the_excerpt():
if ( is_category() ) {
the_excerpt();
}
else {
the_content();
}#4 Зміна довжини тексту, що обрізається
За умовчанням, довжина за яким ріжеться текст – це 55 слів, щоб змінити цей параметр, можна використовувати фільтр excerpt_length, для цього помістіть такий код у файл теми functions.php :
add_filter( 'excerpt_length', function(){
return 20;
} );#5 Видалення конструкції […] на кінці
За умовчанням, якщо текст обрізається, то в кінці додається [...], змінити […] можна через фільтр excerpt_more. Додамо такий код у файл теми functions.php:
add_filter( 'excerpt_more', function( $more ) {
return '...';
} );
// у php 7.4+ можна скоротити так:
add_filter( 'excerpt_more', fn() => '...');
список змін
| З версії 0.71 | Введено. |
Код the_excerpt() the excerpt WP 6.0.2
function the_excerpt() {
/**
* Filters 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() );
}