Template Tags/the content
Материал из WordPress Wiki
Содержание |
Description
Displays the contents of the current post. This tag must be within The_Loop.
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.
Note:
- 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 if there is only one post being displayed.
Usage
%%%<?php the_content('more_link_text', strip_teaser, 'more_file'); ?>%%%
Alternatively, you may use this to return the content value instead of the normal echo:
%%%<?php $content = get_the_content(); ?>%%%
Please note! get_the_content will not have the following done to it and you are advised to add them until the core has been updated:
%%%<?php $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); ?>%%%
Examples
Designating the "More" Text
Displays the content of the post and uses "Read more..." for the more link text when the <!--more--> Quicktag is used.
<?php the_content('Read more...'); ?>
Include Title in "More"
Similar to the above example, but thanks to the_title() tag and the display parameter, it can show "Continue reading ACTUAL POST TITLE" when the <!--more--> Quicktag is used.
<?php the_content("Continue reading " . the_title('', '', false)); ?>
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.
<?php // Declare global $more, before the loop. global $more; ?>
<?php
// Display content above the more tag
$more = 0;
the_content("More...");
?>
Alternatively, if you need to display all of the content:
<?php // Declare global $more, before the loop. global $more; ?>
<?php // Display all content, including text below more $more = 1; the_content(); ?>
Parameters
- more_link_text
- (string) The link text to display for the "more" link. Defaults to '(more...)'.
- strip_teaser
- (boolean) Should the text before the "more" link be hidden (TRUE) or displayed (FALSE). Defaults to FALSE.
- more_file
- (string) File the "more" link points to. Defaults to the current file. (V2.0: Currently the 'more_file' parameter doesn't work).