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

Display the post content.


Description Description


Parameters 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


Top ↑

Source Source

File: wp-includes/post-template.php

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

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

Top ↑

Changelog Changelog

Changelog
Version Description
0.71 Introduced.

Top ↑

More Information 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.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex

    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();
    
  2. Skip to note 2 content
    Contributed by Codex

    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 or feedback.