WordPress Version: 2.3
/**
* Retrieve the excerpt of the current comment.
*
* Will cut each word and only output the first 20 words with '…' at the end.
* If the word count is less than 20, then no truncating is done and no '…'
* will appear.
*
* @since 1.5.0
* @since 4.4.0 Added the ability for `$comment_ID` to also accept a WP_Comment object.
*
* @param int|WP_Comment $comment_ID WP_Comment or ID of the comment for which to get the excerpt.
* Default current comment.
* @return string The maybe truncated comment with 20 words or less.
*/
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 .= '…';
}
/**
* 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);
}