Allow HTML in excerpt
-
Is it possible to allow some HTML tags in the excerpt? (line breaks to be more specific).
I managed to do it in archive pages (categories and tags) with the folowing code:
/****************************************************************************** * @Author: Boutros AbiChedid * @Date: June 20, 2011 * @Websites: https://bacsoftwareconsulting.com/ ; https://blueoliveonline.com/ * @Description: Preserves HTML formating to the automatically generated Excerpt. * Also Code modifies the default excerpt_length and excerpt_more filters. *******************************************************************************/ function custom_wp_trim_excerpt($text) { $raw_excerpt = $text; if ( '' == $text ) { $text = get_the_content(''); $text = strip_shortcodes( $text ); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); /***Add the allowed HTML tags separated by a comma.***/ $allowed_tags = '<br>,<li>,<p>'; $text = strip_tags($text, $allowed_tags); /***Change the excerpt word count.***/ $excerpt_word_count = 60; $excerpt_length = apply_filters('excerpt_length', $excerpt_word_count); /*** Change the excerpt ending.***/ $excerpt_end = ' <a href="'. get_permalink($post->ID) . '">' . '» Continue Reading.' . '</a>'; $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end); $words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY); if ( count($words) > $excerpt_length ) { array_pop($words); $text = implode(' ', $words); $text = $text . $excerpt_more; } else { $text = implode(' ', $words); } } return apply_filters('wp_trim_excerpt', $text, $raw_excerpt); } remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'custom_wp_trim_excerpt');
Thanks for the great plugin!
The page I need help with: [log in to see the link]
Viewing 9 replies - 1 through 9 (of 9 total)
Viewing 9 replies - 1 through 9 (of 9 total)
- The topic ‘Allow HTML in excerpt’ is closed to new replies.