Custom Excerpt and Content Limit WordPress

I just found a solution to limiting the number of words in the excerpt without plugins. Add the following code to your functions.php file. Use this function if you’re planning on using it more than once with a different amount of characters. Displays the excerpt of the current post after applying several filters to it including auto-p formatting which turns double line-breaks into HTML paragraphs. It uses get_the_excerpt() to first generate a trimmed-down version of the full post content should there not be an explicit excerpt for the post.

Custom Excerpt Limit WordPress

<?php
// Custom Excerpt 
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
} 
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}

Custom Content Limit WordPress

// Content Limit function content($limit) 
{ 
$content = explode(' ', get_the_content(), $limit); 
if (count($content)>=$limit) { array_pop($content); 
$content = implode(" ",$content).'...'; 
} 
else 
{ 
$content = implode(" ",$content); 
} 
$content = preg_replace('/\[.+\]/','', $content); 
$content = apply_filters('the_content', $content); 
$content = str_replace(']]>', ']]>', $content); 
return $content; 
}
If you want to limit your excerpt to 25 words the code would look like this:
 
<?php echo excerpt(25); ?
?php echo content(25); ?
 

Another way to display limited excerpt by character. Here is the functions.php file code.

<?php 
function get_excerpt(){
$excerpt = get_the_content();
$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, 100);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
$excerpt = $excerpt.'... &lt;a href="'.get_the_permalink().'"&gt;Read More&lt;/a&gt;';
return $excerpt;
}
?>

 After this you need to add where you want to display your customized character by character.

<?php echo get_excerpt(); ?>

Leave a Comment

Your email address will not be published.