amitabhaghosh197
5/15/2014 - 8:04 PM

Excerpt_class wordpress function

Excerpt_class wordpress function

<?php

// Now Add wherever you require for excerpt
?>

<div>

<p>

<?php the_excerpt() ?>
</p>

</div>
<?php
// Just copy the code in function.php

?>
<?php
class Excerpt {

    // Default length (by WordPress)
    public static $length = 55;

    // So you can call: my_excerpt('short');
    public static $types = array(
        'short' => 25,
        'regular' => 55,
        'long' => 100
    );

    /**
     * Sets the length for the excerpt,
     * then it adds the WP filter
     * And automatically calls the_excerpt();
     *
     * @param string $new_length
     * @return void
     * @author Baylor Rae'
     */
    public static function length($new_length = 55) {
        Excerpt::$length = $new_length;

        add_filter('excerpt_length', 'Excerpt::new_length', 999);

        Excerpt::output();
    }

    // Tells WP the new length
    public static function new_length() {
        if( isset(Excerpt::$types[Excerpt::$length]) )
            return Excerpt::$types[Excerpt::$length];
        else
            return Excerpt::$length;
    }

    // Echoes out the excerpt
    public static function output() {
        the_excerpt();
    }

}

// An alias to the class
function custom_excerpt($length = 55) {
    Excerpt::length($length);
}

//If you want More button in excerpt
//More Button Link in excerpt
	function damiracle_custom_excerpt_more($more) {
	global $post;
	return '<a class="more-link" href="'. get_permalink($post->ID) . '">'. __('..More', 'damiracle') .'</a>';
	}
	add_filter('excerpt_more', 'damiracle_custom_excerpt_more');