post_excerpt; } if ( empty( $content ) ) { $content = $post->post_content; } $output = wp_strip_all_tags( strip_shortcodes( $content ) ); if ( $excerpt_length > 0 ) { $output = wp_trim_words( $output, $excerpt_length ); } if ( post_password_required( $post ) ) { $output = __( 'There is no excerpt because this is a protected post.', 'top-10' ); } /** * Filters excerpt generated by tptn. * * @since 1.9.10.1 * * @param array $output Formatted excerpt * @param int $id Post ID * @param int $excerpt_length Length of the excerpt * @param boolean $use_excerpt Use the excerpt? */ return apply_filters( 'tptn_excerpt', $output, $id, $excerpt_length, $use_excerpt ); } /** * Truncate a string to a certain length. * * @since 2.5.4 * * @param string $string String to truncate. * @param int $count Maximum number of characters to take. * @param string $more What to append if $string needs to be trimmed. * @param bool $break_words Optionally choose to break words. * @return string Truncated string. */ function tptn_trim_char( $string, $count = 60, $more = '…', $break_words = false ) { $string = wp_strip_all_tags( $string, true ); if ( 0 === $count ) { return ''; } if ( mb_strlen( $string ) > $count && $count > 0 ) { $count -= min( $count, mb_strlen( $more ) ); if ( ! $break_words ) { $string = preg_replace( '/\s+?(\S+)?$/u', '', mb_substr( $string, 0, $count + 1 ) ); } $string = mb_substr( $string, 0, $count ) . $more; } /** * Filters truncated string. * * @since 2.4.0 * * @param string $string String to truncate. * @param int $count Maximum number of characters to take. * @param string $more What to append if $string needs to be trimmed. * @param bool $break_words Optionally choose to break words. */ return apply_filters( 'tptn_trim_char', $string, $count, $more, $break_words ); }