Skip to content

Instantly share code, notes, and snippets.

@nixonmedia
Created January 5, 2018 14:44
Show Gist options
  • Save nixonmedia/66ef3819b19585aac47dc2828d6516bc to your computer and use it in GitHub Desktop.
Save nixonmedia/66ef3819b19585aac47dc2828d6516bc to your computer and use it in GitHub Desktop.
//custom excerpt
function get_post_excerpt($post_id,$elips, $length, $cta, $class){
$the_post = get_post($post_id); //Gets post ID
$the_excerpt = $the_post->post_content; //Gets post_content to be used as a basis for the excerpt
$the_excerpt = $content = apply_filters('the_content', $the_excerpt); //keep formatting
$the_excerpt = str_replace('\]\]\>', ']]>', $the_excerpt); //keep formatting continued..
$excerpt_length = $length; //Sets excerpt length by word count
$the_excerpt = strip_tags($the_excerpt, '<p>'); //Strips tags and images (except for <p> tags)
$words = explode(' ', $the_excerpt, $excerpt_length + 1);
if(count($words) > $excerpt_length) :
array_pop($words);
if($elips){
array_push($words,'... <a class="read-more '.$class.'" href="'. get_permalink($post_id) . '">' . $cta . '</a>');
}
else{
array_push($words,'...');
}
$the_excerpt = implode(' ', $words);
endif;
echo $the_excerpt;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment