Remove “Continue Reading” Link From the Teaser Excerpt Only

I want to remove the “Continue Reading” link from the teaser excerpt only and not from the automatic excerpt, which filter is easily available.

This is the original code; it’s from the Showcase Template Page Template:

Read More
    <?php while ( have_posts() ) : the_post(); ?>

<?php
    if ( '' != get_the_content() )
        get_template_part( 'content', 'intro' );
?>

<?php endwhile; ?>

Here is the Intro:

<div class="entry-content">
    <?php the_content(); ?>
    <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'mytheme' ) . '</span>', 'after' => '</div>' ) ); ?>
    <?php edit_post_link( __( 'Edit', 'mytheme' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-content -->

–>

Related posts

Leave a Reply

5 comments

  1. Change standard text for all excerpts:

    function custom_excerpt_more($more) {
       global $post;
       $more_text = '...';
       return '… <a href="'. get_permalink($post->ID) . '">' . $more_text . '</a>';
    }
    add_filter('excerpt_more', 'custom_excerpt_more');
    

    Create your own excerpt function:

    // Rafael Marques Excerpt Function ;)
    function rm_excerpt($limit = null, $separator = null) {
    
        // Set standard words limit
        if (is_null($limit)){
            $excerpt = explode(' ', get_the_excerpt(), '15');
        } else {
            $excerpt = explode(' ', get_the_excerpt(), $limit);
        }
    
        // Set standard separator
        if (is_null($separator)){
            $separator = '...';
        }
    
        // Excerpt Generator
        if (count($excerpt)>=$limit) {
            array_pop($excerpt);
            $excerpt = implode(" ",$excerpt).$separator;
        } else {
            $excerpt = implode(" ",$excerpt);
        }   
        $excerpt = preg_replace('`[[^]]*]`','',$excerpt);
        echo $excerpt;
    }
    

    Use <?php rm_excerpt(); ?> when you want display custom excerpt. First value set words limit and second value set separator. Example: <?php rm_excerpt(10,' (...)'); ?>. To create separate link “read more”, insert <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">Read More?</a>

  2. It sounds like you want to remove the “Continue Reading” teaser from the_content(). If so, this example from the Codex would be what you need:

    Read More Techniques

    The parameters within the template tag the_content() are as follows:

    <?php the_content( $more_link_text , $strip_teaser ); ?>

    The $more_link_text sets the link text like “Read More”. The second
    one, $strip_teaser, sets whether or not the “more” link should be
    hidden (TRUE) or displayed (FALSE). The default is FALSE, which shows
    the link text.

    To remove the teaser:

    Change the_content(); in your index.php to (i.e., the second parameter controls this):

    `the_content('',TRUE,'');`
    

    Include <!--noteaser--> in the post text, immediately after the <!--more-->.

    UPDATE
    Based on your code, it looks like you have added the code in the wrong place. Without seeing your files, you probably need to go to content.php and look for the_content() and make the change there. I checked it on one of my themes that uses templates and it works fine. You should also read up more on templates, so you understand how they function. In short:

    1 – Remove this text from your code: if ( ” != get_the_content(”,TRUE,”) )
    2 – Go to content.php in your theme and find the_content() and change it to the_content('',TRUE,'')
    3 – Add <!--noteaser--> as indicated above

    This is if you are using <!--more--> to manually setup the excerpts.

  3. //.... get_the_content() .....//
    

    Just edit this part like this: get_the_content("")

    With this "" you will make content empty. So just you would have your content text without read more link 🙂

  4. I had to go into the wp-includes folder, inside the formatting.php file and edit line 3284 and change the default number of words to include in the excerpt to a huge number like so:

        $excerpt_length = apply_filters( 'excerpt_length', 550000000000000 );
    

    The default is only 55