Функция THE_EXCERPT() в WordPress: использование, примеры, хуки

Функция THE_EXCERPT() в WordPress

Функция the_excerpt() предназначена для отображения краткого содержания (цитаты) поста с добавлением символов [...] в конце. Однако это не является ссылкой на полноценный материал.

Если поле "цитата" не указано для поста (это можно сделать на экране редактирования поста), функция автоматически создаст краткое содержание, отрезав начальную часть поста (будут взяты первые 55 слов). HTML-теги или изображения не будут отображаться и не будут учитываться при подсчете слов.

Эта функция должна использоваться внутри цикла WordPress (WordPress Loop).

Примечан��е: Если текущий пост является вложением (обычно отображается в шаблонах: attachment.php и image.php), функция the_excerpt() выведет текст, указанный в поле "описание" (Caption), и [...] в конце не будет.

THE_EXCERPT() И THE_CONTENT()

Иногда лучше использовать функцию the_content(), так как она обрабатывает тег <!--more-->, указанный в содержании поста, и отображает текст выше этого тега.

Использование: get_the_excerpt()

  • 1 раз — 0.024946 сек (очень медленно)
  • 50000 раз — 39.68 сек (очень медленно)
  • PHP 7.4.8, WP 5.8

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

  • the_excerpt

Возврат

Функция возвращает null, то есть ничего не выводит, кроме короткого текста.

Применение

Примеры использования

Пример 1: Базовое использование

Чтобы получить "Цитату" поста на архивных страницах (категории, теги, авторы, даты):

Пример 2: Использование с условными тегами

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

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

Пример 3: Изменение длины обрезанного текста

По умолчанию длина текста_excerpt составляет 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. Скопируйте и вставьте следующий код в файл functions.php вашей темы:

add_filter('excerpt_more', 'new_excerpt_more');
function new_excerpt_more($more) {
    global $post;
    return 'Читать далее...';
}

Изменения в версии

Функция the_excerpt() была введена с версии 0.71.

Код функции THE_EXCERPT()

function the_excerpt() {
    /**
     * Фильтрует отображаемую аннотацию поста.
     *
     * @since 0.71
     *
     * @see get_the_excerpt()
     *
     * @param string $post_excerpt Аннотация поста.
     */
    echo apply_filters('the_excerpt', get_the_excerpt());
}

Связанные функции

  • get_extended()
  • get_the_excerpt()
  • has_excerpt()
  • wp_trim_excerpt()

Используйте функцию the_excerpt() для улучшения взаимодействия с контентом вашего сайта на WordPress. Эта функция поможет сделать ваши посты более привлекательными и упрощает просмотр информации для ваших пользователей.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *