Quantcast
Channel: WordPress Experts
Viewing all articles
Browse latest Browse all 33

How to Improved the_excerpt() Function in WordPress!

$
0
0

images (2)The the_excerpt() function is useful and very popular among theme developers, but it’s far from being perfect. Today’s recipe showcase an improved the_excerpt() function, which display an excerpt which is not longer than a predetermined length and doesn’t cut off in mid-sentence.

The first thing to do is to create the function. Open your functions.php file and paste the code below in it.

// Variable & intelligent excerpt length.
function print_excerpt($length) { // Max excerpt length. Length is set in characters
	global $post;
	$text = $post->post_excerpt;
	if ( '' == $text ) {
		$text = get_the_content('');
		$text = apply_filters('the_content', $text);
		$text = str_replace(']]>', ']]>', $text);
	}
	$text = strip_shortcodes($text); // optional, recommended
	$text = strip_tags($text); // use ' $text = strip_tags($text,'<p><a>'); ' if you want to keep some tags

	$text = substr($text,0,$length);
	$excerpt = reverse_strrchr($text, '.', 1);
	if( $excerpt ) {
		echo apply_filters('the_excerpt',$excerpt);
	} else {
		echo apply_filters('the_excerpt',$text);
	}
}

// Returns the portion of haystack which goes until the last occurrence of needle
function reverse_strrchr($haystack, $needle, $trail) {
    return strrpos($haystack, $needle) ? substr($haystack, 0, strrpos($haystack, $needle) + $trail) : false;
}

 

Once done, you can use the print_excerpt() function in your theme files, as shown below:

 

<?php print_excerpt(50); ?>

 

Thanks to Sebastian for the function!

The post How to Improved the_excerpt() Function in WordPress! appeared first on WordPress Experts.


Viewing all articles
Browse latest Browse all 33

Trending Articles