get_comment_excerpt
Retrieve the excerpt of the current comment.
Description
(string) get_comment_excerpt( (int) $comment_ID = 0 );
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.
Returns (string)
The maybe truncated comment with 20 words or less.
Parameters (1)
- 0. $comment_id (int)
-
WP_Comment
or ID of the comment for which to get the excerpt. Default current comment.
Usage
if ( !function_exists( 'get_comment_excerpt' ) ) { require_once ABSPATH . WPINC . '/comment-template.php'; } // WP_Comment or ID of the comment for which to get the excerpt. // Default current comment. $comment_id = -1; // NOTICE! Understand what this does before running. $result = get_comment_excerpt($comment_id);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/comment-template.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 .= '…';
- }
- /**
- * 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 );
- }