wp_trim_excerpt() WP 1.5.0
Генерирует цитату из текущего поста, если нужно (когда цитата не указана). Используется внутри Цикла WordPress.
По умолчанию текст обрезается до 55 слов и в конце добавляется "[…]
". Если переданный текст содержит меньше 55 слов, то он будет возвращен без изменений.
Ограничение в 55 слов может быть изменено в плагинах и темах, через фильтр excerpt_length, а конструкция в конце цитаты "[…]
", может быть заменена через фильтр excerpt_more.
Если параметр $text не передан (пустой), то функция получит контент текущей записи (возьмет его начальный кусок).
Возвращает
Строку. Обрезанную строку.
Использование
wp_trim_excerpt( $text );
- $text(cтрока)
- Цитата. Если указать пустое значение, то функция получит контент текущего поста и сгенерирует цитату. Если указать текст, то функцию не обрежет его, а вернет как есть.
По умолчанию: ''
Примеры
#1 Демонстрация работы
Допустим у нас для постов предусмотрены отдельные цитаты и нам нужно проверить, если такая цитата у поста есть, то нужно вывести её, а если её нет, то нужно вывести обрезанный текст текущего поста:
$excerpt = get_post_meta($post->ID, 'special_excerpt', 1);
$text = wp_trim_excerpt( $excerpt );
echo $text;
Список изменений
С версии 1.5.0 |
Введена. |
С версии 5.2.0 |
Added the $post parameter. |
Код wp_trim_excerpt() wp trim excerpt
WP 5.6.2
<?php
function wp_trim_excerpt( $text = '', $post = null ) {
$raw_excerpt = $text;
if ( '' === trim( $text ) ) {
$post = get_post( $post );
$text = get_the_content( '', false, $post );
$text = strip_shortcodes( $text );
$text = excerpt_remove_blocks( $text );
/** This filter is documented in wp-includes/post-template.php */
$text = apply_filters( 'the_content', $text );
$text = str_replace( ']]>', ']]>', $text );
/* translators: Maximum number of words used in a post excerpt. */
$excerpt_length = (int) _x( '55', 'excerpt_length' );
/**
* Filters the maximum number of words in a post excerpt.
*
* @since 2.7.0
*
* @param int $number The maximum number of words. Default 55.
*/
$excerpt_length = (int) apply_filters( 'excerpt_length', $excerpt_length );
/**
* Filters the string in the "more" link displayed after a trimmed excerpt.
*
* @since 2.9.0
*
* @param string $more_string The string shown within the more link.
*/
$excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' );
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
/**
* Filters the trimmed excerpt string.
*
* @since 2.8.0
*
* @param string $text The trimmed text.
* @param string $raw_excerpt The text prior to trimming.
*/
return apply_filters( 'wp_trim_excerpt', $text, $raw_excerpt );
}
Cвязанные функции