Created
July 9, 2014 18:39
-
-
Save pagelab/b7cad51e1ec90afcc5d3 to your computer and use it in GitHub Desktop.
Wordpress: function to filter the excerpt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /****************************************************************************** | |
| * @Author: Boutros AbiChedid | |
| * @Date: June 20, 2011 | |
| * @Websites: http://bacsoftwareconsulting.com/ ; http://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 = '<p>,<a>,<em>,<strong>'; | |
| $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'); | |
| ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment