get_comment_excerpt

Получает обрезок текущего или указанного комментария (максимум 20 слов).

Если текст был обрезан, то в конце добавиться

✈ 1 раз = 0.000609с = медленно | 50000 раз = 5с = быстро
Хуки из функции:
comment_excerpt_length
get_comment_excerpt
Возвращает

Строку. Обрезанный/необрезанный текст.

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

get_comment_excerpt( $comment_ID );
$comment_ID(число/WP_Comment) (обязательный)
ID или объект комментария, который нужно проверить на длину, и если надо, то обрезать.
По умолчанию: 0 (текущий комментарий в цикле)

Примеры

#1 Обрежем текст комментария до 20 слов, если он больше.

echo get_comment_excerpt( 1024 );

// выведет:
// Посмотрел, краем глаза Get Recent Comments - наворотили гору кода :)  Протестировал свой код запросы создает стандартная функция WordPress…

Код из


wp-includes/comment-template.php

WP 4.7.2

<?php
function get_comment_excerpt( $comment_ID = 0 ) {
	$comment = get_comment( $comment_ID );
	$comment_text = strip_tags( str_replace( array( "n", "r" ), ' ', $comment->comment_content ) );
	$words = explode( ' ', $comment_text );

	/**
	 * Filters the amount of words used in the comment excerpt.
	 *
	 * @since 4.4.0
	 *
	 * @param int $comment_excerpt_length The amount of words you want to display in the comment excerpt.
	 */
	$comment_excerpt_length = apply_filters( 'comment_excerpt_length', 20 );

	$use_ellipsis = count( $words ) > $comment_excerpt_length;
	if ( $use_ellipsis ) {
		$words = array_slice( $words, 0, $comment_excerpt_length );
	}

	$excerpt = trim( join( ' ', $words ) );
	if ( $use_ellipsis ) {
		$excerpt .= '&hellip;';
	}
	/**
	 * Filters the retrieved comment excerpt.
	 *
	 * @since 1.5.0
	 * @since 4.1.0 The `$comment_ID` and `$comment` parameters were added.
	 *
	 * @param string     $excerpt    The comment excerpt text.
	 * @param int        $comment_ID The comment ID.
	 * @param WP_Comment $comment    The comment object.
	 */
	return apply_filters( 'get_comment_excerpt', $excerpt, $comment->comment_ID, $comment );
}