Description
For encoding the HTML or the $encode_html parameter, there are three possible values:
- ‘0’ will make urls footnotes and use make_url_footnote().
- ‘1’ will encode special characters and automatically display all of the content.
- ‘2’ will strip all HTML tags from the content.
Also note that you cannot set the amount of words and not set the HTML encoding. If that is the case, then the HTML encoding will default to 2, which will strip all HTML tags.
To restrict the amount of words of the content, you can use the cut parameter. If the content is less than the amount, then there won’t be any dots added to the end. If there is content left over, then dots will be added and the rest of the content will be removed.
See also
Parameters
- $more_link_text
-
(string) (Optional) Text to display when more content is available but not displayed.
Default value: '(more...)'
- $stripteaser
-
(int) (Optional) Default 0.
- $more_file
-
(string) (Optional)
Default value: ''
- $cut
-
(int) (Optional) Amount of words to keep for the content.
- $encode_html
-
(int) (Optional) How to encode the content.
Source
File: wp-includes/deprecated.php
function the_content_rss($more_link_text='(more...)', $stripteaser=0, $more_file='', $cut = 0, $encode_html = 0) {
_deprecated_function( __FUNCTION__, '2.9.0', 'the_content_feed()' );
$content = get_the_content($more_link_text, $stripteaser);
/**
* Filters the post content in the context of an RSS feed.
*
* @since 0.71
*
* @param string $content Content of the current post.
*/
$content = apply_filters('the_content_rss', $content);
if ( $cut && !$encode_html )
$encode_html = 2;
if ( 1== $encode_html ) {
$content = esc_html($content);
$cut = 0;
} elseif ( 0 == $encode_html ) {
$content = make_url_footnote($content);
} elseif ( 2 == $encode_html ) {
$content = strip_tags($content);
}
if ( $cut ) {
$blah = explode(' ', $content);
if ( count($blah) > $cut ) {
$k = $cut;
$use_dotdotdot = 1;
} else {
$k = count($blah);
$use_dotdotdot = 0;
}
/** @todo Check performance, might be faster to use array slice instead. */
for ( $i=0; $i<$k; $i++ )
$excerpt .= $blah[$i].' ';
$excerpt .= ($use_dotdotdot) ? '...' : '';
$content = $excerpt;
}
$content = str_replace(']]>', ']]>', $content);
echo $content;
}