get_the_excerpt

Позволяет изменить извлечение записи
Хук WordPress
INT 4.5.0, 1.2.0
WordPress Icon

Описание хука

Хук get_the_excerpt позволяет определить или изменить обрезанный текст записи (excerpt) перед его выводом.

Он вызывается в функции get_the_excerpt() и позволяет модифицировать текст перед его возвратом.

Хук get_the_excerpt является фильтром и позволяет изменить обрезанный текст записи до его вывода на экран.

Использование

apply_filters( 'get_the_excerpt', string $post_excerpt, WP_Post $post )

Этот код применяется для вызова хука get_the_excerpt и передачи в него параметров.

$post_excerpt (строка) — обрезанный текст записи.

$post (WP_Post) — объект записи.

  • $post_excerpt (string) — Обрезанный текст записи.
  • $post (WP_Post) — Объект записи.
<?php
/**
 * Функция-обработчик для хука get_the_excerpt.
 *
 * @param string  $post_excerpt Обрезанный текст записи.
 * @param WP_Post $post         Объект записи.
 *
 * @return string Измененный обрезанный текст записи.
 */
function custom_get_the_excerpt( $post_excerpt, $post ) {
    // Ваш код обработки обрезанного текста записи
    return $post_excerpt;
}
add_filter( 'get_the_excerpt', 'custom_get_the_excerpt', 10, 2 );

В данном примере мы создаем функцию custom_get_the_excerpt(), которая является обработчиком хука get_the_excerpt.

Функция принимает два параметра: $post_excerpt (строка) — обрезанный текст записи, и $post (WP_Post) — объект записи.

Внутри функции вы можете добавить свой код для обработки обрезанного текста записи и вернуть измененный результат с помощью оператора return.

Затем мы добавляем фильтр с помощью функции add_filter(), указывая имя хука get_the_excerpt и имя функции-обработчика custom_get_the_excerpt.

В данном примере при необходимости вы можете изменить обрезанный текст записи перед его выводом.

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

Преобразование полученного отрывка поста


/**
 * Функция для преобразования полученного отрывка поста.
 *
 * @param string   $post_excerpt The post excerpt.
 * @param WP_Post  $post         Post object.
 * @return string  The modified post excerpt.
 */
function custom_modify_excerpt( $post_excerpt, $post ) {
    // Преобразование отрывка поста
    $modified_excerpt = strtoupper( $post_excerpt );
    
    return $modified_excerpt;
}
add_filter( 'get_the_excerpt', 'custom_modify_excerpt', 10, 2 );

Изменение полученного отрывка поста


/**
 * Функция для изменения полученного отрывка поста.
 *
 * @param string   $post_excerpt The post excerpt.
 * @param WP_Post  $post         Post object.
 * @return string  The modified post excerpt.
 */
function custom_change_excerpt( $post_excerpt, $post ) {
    // Изменение отрывка поста
    $modified_excerpt = str_replace( 'Lorem', 'Modified', $post_excerpt );
    
    return $modified_excerpt;
}
add_filter( 'get_the_excerpt', 'custom_change_excerpt', 10, 2 );

Добавление дополнительной информации к полученному отрывку поста


/**
 * Функция для добавления дополнительной информации к полученному отрывку поста.
 *
 * @param string   $post_excerpt The post excerpt.
 * @param WP_Post  $post         Post object.
 * @return string  The modified post excerpt.
 */
function custom_add_info_to_excerpt( $post_excerpt, $post ) {
    // Добавление дополнительной информации к отрывку поста
    $modified_excerpt = $post_excerpt . ' [Additional Info]';
    
    return $modified_excerpt;
}
add_filter( 'get_the_excerpt', 'custom_add_info_to_excerpt', 10, 2 );

Форматирование полученного отрывка поста


/**
 * Функция для форматирования полученного отрывка поста.
 *
 * @param string   $post_excerpt The post excerpt.
 * @param WP_Post  $post         Post object.
 * @return string  The modified post excerpt.
 */
function custom_format_excerpt( $post_excerpt, $post ) {
    // Форматирование отрывка поста
    $modified_excerpt = '<p>' . $post_excerpt . '</p>';
    
    return $modified_excerpt;
}
add_filter( 'get_the_excerpt', 'custom_format_excerpt', 10, 2 );

Удаление определенных элементов из полученного отрывка поста


/**
 * Функция для удаления определенных элементов из полученного отрывка поста.
 *
 * @param string   $post_excerpt The post excerpt.
 * @param WP_Post  $post         Post object.
 * @return string  The modified post excerpt.
 */
function custom_remove_elements_from_excerpt( $post_excerpt, $post ) {
    // Удаление определенных элементов из отрывка поста
    $modified_excerpt = strip_tags( $post_excerpt, '<p><a>' );
    
    return $modified_excerpt;
}
add_filter( 'get_the_excerpt', 'custom_remove_elements_from_excerpt', 10, 2 );

Вопросы и ответы

Как изменить полученный отрывок записи?

Для изменения полученного отрывка записи в WordPress можно использовать хук get_the_excerpt. Этот хук позволяет фильтровать полученный отрывок и внести в него необходимые изменения.

Пример использования хука get_the_excerpt:

function custom_excerpt_filter($post_excerpt, $post) {
    // Внесение изменений в отрывок
    $modified_excerpt = $post_excerpt . ' Дополнительный текст';
    return $modified_excerpt;
}
add_filter('get_the_excerpt', 'custom_excerpt_filter', 10, 2);

Как добавить свой отрывок для записи?

Для добавления своего отрывка для записи в WordPress можно использовать хук get_the_excerpt. Этот хук позволяет заменить полученный отрывок на свой собственный.

Пример использования хука get_the_excerpt:

function custom_excerpt_filter($post_excerpt, $post) {
    // Замена полученного отрывка на свой собственный
    $custom_excerpt = 'Мой собственный отрывок';
    return $custom_excerpt;
}
add_filter('get_the_excerpt', 'custom_excerpt_filter', 10, 2);

Как удалить отрывок из записи?

Для удаления отрывка из записи в WordPress можно использовать хук get_the_excerpt. Этот хук позволяет полностью удалить полученный отрывок.

Пример использования хука get_the_excerpt:

function remove_excerpt_filter($post_excerpt, $post) {
    // Полное удаление отрывка
    return '';
}
add_filter('get_the_excerpt', 'remove_excerpt_filter', 10, 2);

Как изменить форматирование отрывка?

Для изменения форматирования отрывка в WordPress можно использовать хук get_the_excerpt. Этот хук позволяет применить необходимые изменения к форматированию отрывка.

Пример использования хука get_the_excerpt:

function format_excerpt_filter($post_excerpt, $post) {
    // Применение изменений к форматированию отрывка
    $formatted_excerpt = '<p>' . $post_excerpt . '</p>';
    return $formatted_excerpt;
}
add_filter('get_the_excerpt', 'format_excerpt_filter', 10, 2);

Как получить отрывок без HTML-тегов?

Для получения отрывка без HTML-тегов можно использовать хук get_the_excerpt. Этот хук позволяет фильтровать полученный отрывок.

Пример кода:

// Функция-обработчик хука get_the_excerpt
function custom_get_the_excerpt($post_excerpt, $post) {
    // Удаляем HTML-теги из отрывка
    $post_excerpt = strip_tags($post_excerpt);
    
    // Возвращаем отрывок без HTML-тегов
    return $post_excerpt;
}
// Добавляем функцию-обработчик хука
add_filter('get_the_excerpt', 'custom_get_the_excerpt', 10, 2);

Как изменить длину отрывка?

Для изменения длины отрывка можно использовать хук get_the_excerpt. Этот хук позволяет фильтровать полученный отрывок и изменять его длину.

Пример кода:

// Функция-обработчик хука get_the_excerpt
function custom_get_the_excerpt($post_excerpt, $post) {
    // Ограничиваем длину отрывка до 100 символов
    $post_excerpt = wp_trim_words($post_excerpt, 100, '...');
    
    // Возвращаем измененный отрывок
    return $post_excerpt;
}
// Добавляем функцию-обработчик хука
add_filter('get_the_excerpt', 'custom_get_the_excerpt', 10, 2);

Как добавить ссылку ‘Читать далее’ в отрывок?

Для добавления ссылки ‘Читать далее’ в отрывок можно использовать хук get_the_excerpt. Этот хук позволяет фильтровать полученный отрывок и добавлять ссылку.

Пример кода:

// Функция-обработчик хука get_the_excerpt
function custom_get_the_excerpt($post_excerpt, $post) {
    // Добавляем ссылку 'Читать далее' в отрывок
    $post_excerpt .= ' <a href="' . get_permalink($post) . '">Читать далее</a>';
    
    // Возвращаем измененный отрывок
    return $post_excerpt;
}
// Добавляем функцию-обработчик хука
add_filter('get_the_excerpt', 'custom_get_the_excerpt', 10, 2);

Как получить отрывок для определенной категории записей?

Для получения отрывка для определенной категории записей можно использовать хук get_the_excerpt в сочетании с условием проверки категории.

Пример кода:

// Функция-обработчик хука get_the_excerpt
function custom_get_the_excerpt($post_excerpt, $post) {
    // Проверяем, принадлежит ли запись категории "новости"
    if (has_category('новости', $post)) {
        // Удаляем HTML-теги из отрывка
        $post_excerpt = strip_tags($post_excerpt);
        
        // Возвращаем отрывок без HTML-тегов
        return $post_excerpt;
    }
    
    // Возвращаем исходный отрывок для остальных категорий
    return $post_excerpt;
}
// Добавляем функцию-обработчик хука
add_filter('get_the_excerpt', 'custom_get_the_excerpt', 10, 2);

Хук get_the_excerpt позволяет фильтровать полученный отрывок, изменять его длину, добавлять ссылку ‘Читать далее’ и получать отрывок только для определенной категории записей. Этот хук является полезным инструментом для разработчиков WordPress, позволяющим гибко управлять отображением отрывков на сайте.

Связанные элементы

  • Функция get_the_excerpt(): возвращает отформатированный отрывок поста.
  • Функция has_excerpt(): проверяет, есть ли у поста отрывок.
  • Хук wp_trim_excerpt: позволяет изменить отформатированный отрывок перед его выводом.
  • Хук the_excerpt: позволяет изменить вывод отрывка поста.
  • Класс WP_Post: представляет пост в WordPress и содержит его свойства и методы.
  • Класс WP_Query: используется для выполнения запросов к базе данных WordPress и получения постов.
  • Класс WP_Embed: используется для вставки контента из других сайтов, таких как видео или социальные медиа.
  • Класс WP_Customize_Manager: предоставляет интерфейс для настройки темы и настройки сайта в административной панели.
  • Класс WP_Customize_Control: используется для создания пользовательских элементов управления в настройках темы и настройках сайта.
Обсуждение