Remove "Continue Reading" Link From the Teaser Excerpt Only

admin2025-06-05  0

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:

    <?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 -->

-->

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:

    <?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 -->

-->

Share Improve this question edited Jan 26, 2013 at 0:16 Marcus asked Jan 25, 2013 at 21:11 MarcusMarcus 611 gold badge1 silver badge3 bronze badges 1
  • We need to see all of your code, could you post the contents of content-intro.php? Might want to look up what get_template_part does =p – Tom J Nowell Commented Jan 25, 2013 at 23:07
Add a comment  | 

5 Answers 5

Reset to default 2

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>

add_filter( 'the_content_more_link', 'wpsites_read_more_link' );
function wpsites_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '"></a>';
}

Add this to your functions file and it will remove the more link.

http://codex.wordpress/Customizing_the_Read_More

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.

//.... 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 :-)

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

转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749053360a315957.html

最新回复(0)