Damian
Damian

Reputation: 608

WordPress excerpt height limit

I want to make in my style for WP excerpt like

HERE

When post title is higher, excerpt is reduced to smaller. Its a plugin or something else?

Upvotes: 1

Views: 2374

Answers (2)

csehasib
csehasib

Reputation: 365

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.

<?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;
}

// 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(']]>', ']]&gt;', $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.'... <a href="'.get_the_permalink().'">Read More</a>';
return $excerpt;
}
?>

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

<?php echo get_excerpt(); ?>

Source: Web Design Company Bangladesh

Upvotes: 1

Michal S
Michal S

Reputation: 1554

Do it with CSS:

.truncated_exercept{
overflow:hidden;
text-overflow:ellipsis;
}

but in more then one line in current CSS is not possible with nice … (...) ending, have to use one of js or js+jQuery solutions look there:
http://dotdotdot.frebsite.nl/

Upvotes: 0

Related Questions