the_excerpt() WP 0.71

Виводить “уривок” (цитату) посту або перші 55 слів контенту, зі вставкою в кінець [...].

Використовується всередині циклу WordPress .

Якщо “Уривок” не вказано (вказується при створенні поста), то функція “створить” його самостійно з перших 55 слів контенту. HTML теги, шорткод і графіка при цьому будуть вирізані (вони не будуть враховуватися при підрахунку слів).

Якщо “Уривок” вказано, то він буде виведений як є. Конструкція [...]не додається до кінця в цьому випадку.

Якщо поточний запис є вкладенням (виводиться на сторінці: attachment.php або image.php ), ця функція виведе текст вказаний у полі “опис” (caption) і текст не матиме на кінці конструкції [...].

Підсумковий текст (результат роботи функції) пропускається через фільтр wpautop() – обертає цитату тег <p> .

На відміну від the_content()

Ця функція не обробляє тег <!--more-->у вмісті запису, тому іноді краще використовувати the_content() .

В якості альтернативи цієї функції можна використовувати мою функцію kama_excerpt() . Вона працює швидше і має низку своїх переваг.

Працює на основі:
get_the_excerpt()
1 раз – 0.024946 сек
(гальмо) | 50000 разів – 39.68 сек
(дуже повільно) |
PHP 7.4.8, WP 5.8

Хуки з функції

Повертає

null. Нічого. Виводить на екран короткий текст.

Використання

<?php the_excerpt(); ?>

Приклади

3

#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>';
}
0

#2 Базове використання

Виведемо “Цитату” посту на сторінках архівів (категорії, мітки, автори, дати):

<?php the_excerpt(); ?>
0

#3 Використання разом із умовними тегами

Перевіримо, чи є ця сторінка розділом категорії, якщо так, то замінимо the_content() на the_excerpt():

if ( is_category() ) {
	the_excerpt();
}
else {
	the_content();
}
0

#4 Зміна довжини тексту, що обрізається

За умовчанням, довжина за яким ріжеться текст – це 55 слів, щоб змінити цей параметр, можна використовувати фільтр excerpt_length, для цього помістіть такий код у файл теми functions.php :

add_filter( 'excerpt_length', function(){
	return 20;
} );
0

#5 Видалення конструкції […] на кінці

За умовчанням, якщо текст обрізається, то в кінці додається [...], змінити […] можна через фільтр excerpt_more. Додамо такий код у файл теми functions.php:

add_filter( 'excerpt_more', function( $more ) {
	return '...';
} );

// у php 7.4+ можна скоротити так:
add_filter( 'excerpt_more', fn() => '...');

список змін

З версії 0.71Введено.

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *