the_content ( string $more_link_text = null, bool $strip_teaser = false )

Display the post content.

Source file: wp-includes/post-template.php

View source


Parameters

$more_link_text

(string) (Optional) Content for when there is more text.

Default value: null

$strip_teaser

(bool) (Optional) Strip teaser content before the more text. Default is false.

Default value: false


More Information

If the quicktag <!--more--> is used in a post to designate the “cut-off” point for the post to be excerpted, the_content() tag will only show the excerpt up to the <!--more--> quicktag point on non-single/non-permalink post pages. By design, the_content() tag includes a parameter for formatting the <!--more--> content and look, which creates a link to “continue reading” the full post.

Notes about <!--more--> :

  • No whitespaces are allowed before the “more” in the <!--more--> quicktag. In other words <!-- more --> will not work!
  • The <!--more--> quicktag will not operate and is ignored in Templates where just one post is displayed, such as single.php.
  • Read Customizing the Read More for more details.

Used by


Source

function the_content( $more_link_text = null, $strip_teaser = false) {
	$content = get_the_content( $more_link_text, $strip_teaser );

	/**
	 * Filter the post content.
	 *
	 * @since 0.71
	 *
	 * @param string $content Content of the current post.
	 */
	$content = apply_filters( 'the_content', $content );
	$content = str_replace( ']]>', ']]&gt;', $content );
	echo $content;
}


Changelog

  • Since: WordPress 0.71

User Contributed Notes

  1. Designating the “More” Text
    Displays the content of the post and uses “Read more …” for the more link text when the Quicktag is used.

    <?php the_content( 'Read more ...' ); ?>
    
  2. Include Title in “More”
    Show “Continue reading ACTUAL POST TITLE” when the Quicktag is used.

    <?php the_content( 'Continue reading ' . get_the_title() ); ?>
    
  3. Overriding Archive/Single Page Behavior
    If the_content() isn’t working as you desire (displaying the entire story when you only want the content above the <!--more--> Quicktag, for example) you can override the behavior with global $more.

    // Declare global $more (before the loop).
    global $more;
    
    // Set (inside the loop) to display content above the more tag.
    $more = 0;
    
    the_content( 'More ...' );
    ?>
    

    If you need to display all of the content:

    // Declare global $more (before the loop).
    global $more;
    
    // Set (inside the loop) to display all content, including text below more.
    $more = 1;
    
    the_content();
    
  4. Ignore the “More” on a Sticky Post

    This will ignore the more tag in a sticky post–meaning it will display the full content even if there is a <!--more--> in the content, but for all other posts it will display a more link.

    // Declare global $more (before the loop).
    global $more;
    
    if ( is_sticky() ) {
    	// Set (inside the loop) to display all content, including text below more.
    	$more = 1;
    
    	the_content();
    } else {
    	$more = 0;
    
    	the_content( __( 'Read the rest of this entry »', 'textdomain' ) );
    }
    

You must log in before being able to contribute a note.