How to return the_excerpt (without echo)?

Hey all, I see that get_the_excerpt() echoes the post excerpt if it is manually set, but not if it is automatically generated (with just the 55 words, for example). [and its use is deprecated]

the_excerpt() on the other hand, echoes directly without giving me a string in return.

Is there a function to return the excerpt of a post in WordPress, including automatic excerpt if not manually defined, without echoing it?

2 Answers
2

Sure thing my friend, you see, the function “the_excerpt” (located at “WORDPRESSINSTALLDIR/wp-includes/post-template.php”) is the one that makes the echo:

function the_excerpt() {  
    echo apply_filters('the_excerpt', get_the_excerpt());  
}  

so, what you want is to use the same function “apply_filters” without the echo:

$myexcerpt = apply_filters('the_excerpt', get_the_excerpt());

…and there you have your excerpt.

Leave a Comment