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