Вы можете использовать the_content
фильтр так,
add_filter('the_content', 'my_content_filter'); //
function my_content_filter($content) {
global $post;
if($post->post_excerpt == ''){ // check if the post has excerpt
$content = strip_tags($content); //strip tags
$cont_array = explode(' ',$content);
if(count($cont_array) > 55) //number of words wanted in excerpt default is 55
$content = implode(' ',array_slice($cont_array, 0, 55)).'...';
$content = '<p>'.$content.'</p>';
}else{
$content = $post->post_excerpt; //copy excerpt to content
}
return $content; //return content
}
Приведенный выше код проверяет, есть ли в сообщении выдержка, если в нем есть выдержка, она возвращает выдержку, иначе возвращается первые 55 слов (длина выдержки по умолчанию).