- Описание функции
- Примеры использования
- Отображение краткого описания поста
- Форматирование краткого описания
- Изменение длины краткого описания
- Добавление ссылки на полный пост
- Использование краткого описания в пользовательском шаблоне
- Вопросы и ответы
- Как изменить длину выводимого отрывка с помощью функции the_excerpt()?
- Как добавить ссылку ‘Читать далее’ после отрывка с помощью функции the_excerpt()?
- Как изменить символы обрезки отрывка с помощью функции the_excerpt()?
- Как вывести отрывок только для определенной категории постов с помощью функции the_excerpt()?
- Как добавить класс или ID к контейнеру отрывка с помощью функции the_excerpt()?
- Как вывести отрывок без HTML-тегов с помощью функции the_excerpt()?
- Как изменить стиль выводимого отрывка с помощью функции the_excerpt()?
- Как вывести отрывок только для определенного типа постов с помощью функции the_excerpt()?
- Как вывести отрывок с определенной длиной слов с помощью функции the_excerpt()?
- Связанные элементы
Описание функции
Функция 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).