the_excerpt()

Отображает анонс записи
Функция WordPress
INT 0.71
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Отображение краткого описания поста
  4. Форматирование краткого описания
  5. Изменение длины краткого описания
  6. Добавление ссылки на полный пост
  7. Использование краткого описания в пользовательском шаблоне
  8. Вопросы и ответы
  9. Как изменить длину выводимого отрывка с помощью функции the_excerpt()?
  10. Как добавить ссылку ‘Читать далее’ после отрывка с помощью функции the_excerpt()?
  11. Как изменить символы обрезки отрывка с помощью функции the_excerpt()?
  12. Как вывести отрывок только для определенной категории постов с помощью функции the_excerpt()?
  13. Как добавить класс или ID к контейнеру отрывка с помощью функции the_excerpt()?
  14. Как вывести отрывок без HTML-тегов с помощью функции the_excerpt()?
  15. Как изменить стиль выводимого отрывка с помощью функции the_excerpt()?
  16. Как вывести отрывок только для определенного типа постов с помощью функции the_excerpt()?
  17. Как вывести отрывок с определенной длиной слов с помощью функции the_excerpt()?
  18. Связанные элементы

Описание функции

Функция the_excerpt() используется в WordPress для вывода отрывка (excerpt) поста на странице. Отрывок представляет собой короткое описание содержимого поста, которое можно настроить в административной панели.

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

По умолчанию, отрывок обрезается после определенного количества слов или символов, но это значение можно изменить с помощью фильтра excerpt_length. Также можно изменить символ, который будет добавлен в конец обрезанного отрывка, с помощью фильтра excerpt_more.

Функция the_excerpt() автоматически добавляет класс «excerpt» к контейнеру отрывка, что позволяет стилизовать его с помощью CSS.

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

Отображение краткого описания поста


/**
 * Отображает краткое описание поста.
 *
 * @since 1.2.0
 */
function the_excerpt() {
    echo apply_filters('the_excerpt', get_the_excerpt());
}

Функция the_excerpt() используется для отображения краткого описания поста. Она вызывает фильтр the_excerpt для получения краткого описания с помощью функции get_the_excerpt() и выводит его с помощью функции echo.

Форматирование краткого описания


/**
 * Форматирует краткое описание поста.
 *
 * @since 1.2.0
 *
 * @param string $deprecated Не используется.
 * @return string Отформатированное краткое описание поста.
 */
function get_the_excerpt($deprecated = '') {
    if (!empty($deprecated)) {
        _deprecated_argument(__FUNCTION__, '2.3.0');
    }
    $post = get_post();
    if (empty($post)) {
        return '';
    }
    $output = $post->post_excerpt;
    if (post_password_required($post)) {
        $output = __('There is no excerpt because this is a protected post.');
        return $output;
    }
    return apply_filters('get_the_excerpt', $output);
}

Функция get_the_excerpt() форматирует краткое описание поста. Она принимает необязательный аргумент $deprecated, который не используется и помечен как устаревший. Функция сначала получает объект поста с помощью функции get_post(). Затем она проверяет, является ли пост защищенным паролем с помощью функции post_password_required(). Если да, то возвращается сообщение «There is no excerpt because this is a protected post.». В противном случае, возвращается краткое описание поста, которое было сохранено в поле «post_excerpt» объекта поста.

Изменение длины краткого описания


/**
 * Изменяет длину краткого описания поста.
 *
 * @since 1.5.0
 *
 * @param int $length Длина краткого описания в словах.
 * @return int Длина краткого описания в словах.
 */
function excerpt_length($length) {
    return 20;
}
add_filter('excerpt_length', 'excerpt_length');

Функция excerpt_length() используется для изменения длины краткого описания поста. Она принимает аргумент $length, который указывает длину краткого описания в словах, и всегда возвращает значение 20. Затем она добавляет фильтр excerpt_length с указанием функции excerpt_length() в качестве обработчика фильтра с помощью функции add_filter().

Добавление ссылки на полный пост


/**
 * Добавляет ссылку на полный пост в краткое описание.
 *
 * @since 1.5.0
 *
 * @param string $more "Читать далее" по умолчанию.
 * @return string Ссылка на полный пост.
 */
function excerpt_more($more) {
    return ' <a href="' . get_permalink() . '">' . __('Читать далее', 'textdomain') . '</a>';
}
add_filter('excerpt_more', 'excerpt_more');

Функция excerpt_more() используется для добавления ссылки на полный пост в краткое описание. Она принимает аргумент $more, который содержит текст «Читать далее» по умолчанию, и возвращает строку, содержащую ссылку на полный пост с помощью функции get_permalink() и текст «Читать далее». Затем она добавляет фильтр excerpt_more с указанием функции excerpt_more() в качестве обработчика фильтра с помощью функции add_filter().

Использование краткого описания в пользовательском шаблоне


/**
 * Использует краткое описание в пользовательском шаблоне.
 *
 * @since 1.5.0
 */
function my_custom_template() {
    if (has_excerpt()) {
        the_excerpt();
    } else {
        the_content();
    }
}

Функция my_custom_template() используется для использования краткого описания в пользовательском шаблоне. Она сначала проверяет, есть ли краткое описание у текущего поста с помощью функции has_excerpt(). Если да, то она выводит краткое описание с помощью функции the_excerpt(). В противном случае, она выводит полный контент поста с помощью функции the_content().

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

Как изменить длину выводимого отрывка с помощью функции the_excerpt()?

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

// Установка длины отрывка в 20 слов
add_filter( 'excerpt_length', function( $length ) {
    return 20;
} );

Как добавить ссылку ‘Читать далее’ после отрывка с помощью функции the_excerpt()?

Для добавления ссылки ‘Читать далее’ после отрывка с помощью функции the_excerpt() можно воспользоваться фильтром excerpt_more. Этот фильтр позволяет указать текст ссылки и ее HTML-разметку.

// Добавление ссылки 'Читать далее' после отрывка
add_filter( 'excerpt_more', function( $more ) {
    return ' <a href="' . get_permalink() . '">Читать далее</a>';
} );

Как изменить символы обрезки отрывка с помощью функции the_excerpt()?

Для изменения символов обрезки отрывка с помощью функции the_excerpt() можно воспользоваться фильтром excerpt_more. Этот фильтр позволяет указать символы, которые будут добавлены после отрывка.

// Изменение символов обрезки отрывка на троеточие
add_filter( 'excerpt_more', function( $more ) {
    return '...';
} );

Как вывести отрывок только для определенной категории постов с помощью функции the_excerpt()?

Для вывода отрывка только для определенной категории постов с помощью функции the_excerpt() можно использовать следующий код:


if ( in_category( 'категория' ) ) {
    the_excerpt();
}

Как добавить класс или ID к контейнеру отрывка с помощью функции the_excerpt()?

Для добавления класса или ID к контейнеру отрывка с помощью функции the_excerpt() можно использовать следующий код:


the_excerpt( '<p class="excerpt-class">' , '</p>' );

Как вывести отрывок без HTML-тегов с помощью функции the_excerpt()?

Для вывода отрывка без HTML-тегов с помощью функции the_excerpt() можно использовать следующий код:


echo wp_strip_all_tags( get_the_excerpt() );

Как изменить стиль выводимого отрывка с помощью функции the_excerpt()?

Функция the_excerpt() выводит отрывок поста. Стиль выводимого отрывка можно изменить с помощью фильтра excerpt_length. Для этого нужно добавить следующий код в файл functions.php вашей темы:

// Изменяем длину отрывка на 20 слов
function custom_excerpt_length($length) {
    return 20;
}
add_filter('excerpt_length', 'custom_excerpt_length');

Как вывести отрывок только для определенного типа постов с помощью функции the_excerpt()?

Функция the_excerpt() по умолчанию выводит отрывок для всех типов постов. Чтобы вывести отрывок только для определенного типа постов, нужно использовать фильтр get_the_excerpt. Ниже приведен пример кода:

// Выводим отрывок только для постов типа "product"
function custom_excerpt_for_product($excerpt) {
    if (get_post_type() === 'product') {
        return $excerpt;
    }
    return '';
}
add_filter('get_the_excerpt', 'custom_excerpt_for_product');

Как вывести отрывок с определенной длиной слов с помощью функции the_excerpt()?

Функция the_excerpt() выводит отрывок с длиной слов по умолчанию. Чтобы вывести отрывок с определенной длиной слов, нужно использовать фильтр excerpt_length и функцию wp_trim_words. Вот пример кода:

// Выводим отрывок с 10 словами
function custom_excerpt_length($length) {
    return 10;
}
add_filter('excerpt_length', 'custom_excerpt_length');
// Используем функцию wp_trim_words для обрезки отрывка
function custom_excerpt($excerpt) {
    return wp_trim_words($excerpt, 10);
}
add_filter('get_the_excerpt', 'custom_excerpt');

Функция the_excerpt() позволяет выводить отрывок поста. С помощью фильтров excerpt_length и get_the_excerpt можно изменить стиль выводимого отрывка, вывести отрывок только для определенного типа постов и задать отрывку определенную длину слов.

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

  • Функция get_the_excerpt(): Возвращает отрывок (excerpt) текущего поста.
  • Функция has_excerpt(): Проверяет, есть ли у текущего поста отрывок (excerpt).
  • Функция the_content(): Выводит содержимое поста.
  • Функция the_title(): Выводит заголовок поста.
  • Функция the_permalink(): Выводит ссылку на пост.
  • Функция the_post_thumbnail(): Выводит миниатюру (thumbnail) поста.
  • Хук the_excerpt: Применяется для изменения отрывка (excerpt) перед его выводом.
  • Хук get_the_excerpt: Применяется для изменения отрывка (excerpt) перед его возвратом.
  • Хук excerpt_length: Применяется для изменения длины отрывка (excerpt).
  • Хук excerpt_more: Применяется для изменения символа, добавляемого в конец отрывка (excerpt).
Обсуждение