WordPress Snippets at WPcustoms

Customize the excerpt length

This is a pretty cool function.
If there is no excerpt set it will grab the_content. You can place multiple excerpts with different length in your theme.


/**
 * Snippet Name: Customize the excerpt length
 * Snippet URL: https://wpcustoms.net/snippets/customize-the-excerpt-length/
 */
  // usage: echo wpc_excerpt(45);

function wpc_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;
    }

    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(']]>', ']]>', $content);
      return $content;
    }