the_content_rss

The timeline below displays how wordpress function the_content_rss has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.5

/**
 * Display the post content for the feed.
 *
 * 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.
 *
 * @since 0.71
 *
 * @deprecated 2.9.0 Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available
 *                               but not displayed. Default '(more...)'.
 * @param int    $stripteaser    Optional. Default 0.
 * @param string $more_file      Optional.
 * @param int    $cut            Optional. Amount of words to keep for the content.
 * @param int    $encode_html    Optional. How to encode the content.
 */
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(']]>', ']]&gt;', $content);
    echo $content;
}

WordPress Version: 4.9

/**
 * Display the post content for the feed.
 *
 * 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. The
 * value of '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.
 *
 * @since 0.71
 *
 * @deprecated 2.9.0 Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
 * @param int $stripteaser Optional. Default is 0.
 * @param string $more_file Optional.
 * @param int $cut Optional. Amount of words to keep for the content.
 * @param int $encode_html Optional. How to encode the content.
 */
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(']]>', ']]&gt;', $content);
    echo $content;
}

WordPress Version: 4.6

/**
 * Display the post content for the feed.
 *
 * 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. The
 * value of '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.
 *
 * @since 0.71
 *
 * @deprecated 2.9.0 Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
 * @param int $stripteaser Optional. Default is 0.
 * @param string $more_file Optional.
 * @param int $cut Optional. Amount of words to keep for the content.
 * @param int $encode_html Optional. How to encode the content.
 */
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);
    $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(']]>', ']]&gt;', $content);
    echo $content;
}

WordPress Version: 4.4

/**
 * Display the post content for the feed.
 *
 * 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. The
 * value of '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.
 *
 * @since 0.71
 *
 * @deprecated 2.9.0 Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
 * @param int $stripteaser Optional. Default is 0.
 * @param string $more_file Optional.
 * @param int $cut Optional. Amount of words to keep for the content.
 * @param int $encode_html Optional. How to encode the content.
 */
function the_content_rss($more_link_text = '(more...)', $stripteaser = 0, $more_file = '', $cut = 0, $encode_html = 0)
{
    _deprecated_function(__FUNCTION__, '2.9', 'the_content_feed');
    $content = get_the_content($more_link_text, $stripteaser);
    $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(']]>', ']]&gt;', $content);
    echo $content;
}

WordPress Version: 4.1

/**
 * Display the post content for the feed.
 *
 * 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. The
 * value of '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.
 *
 * @since 0.71
 *
 * @deprecated 2.9.0
 * @deprecated Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
 * @param int $stripteaser Optional. Default is 0.
 * @param string $more_file Optional.
 * @param int $cut Optional. Amount of words to keep for the content.
 * @param int $encode_html Optional. How to encode the content.
 */
function the_content_rss($more_link_text = '(more...)', $stripteaser = 0, $more_file = '', $cut = 0, $encode_html = 0)
{
    _deprecated_function(__FUNCTION__, '2.9', 'the_content_feed');
    $content = get_the_content($more_link_text, $stripteaser);
    $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(']]>', ']]&gt;', $content);
    echo $content;
}

WordPress Version: 3.9

/**
 * Display the post content for the feed.
 *
 * 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. The
 * value of '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.
 *
 * @since 0.71
 * @uses apply_filters() Calls 'the_content_rss' on the content before processing.
 *
 * @deprecated 2.9.0
 * @deprecated Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
 * @param int|bool $stripteaser Optional. Default is 0.
 * @param string $more_file Optional.
 * @param int $cut Optional. Amount of words to keep for the content.
 * @param int $encode_html Optional. How to encode the content.
 */
function the_content_rss($more_link_text = '(more...)', $stripteaser = 0, $more_file = '', $cut = 0, $encode_html = 0)
{
    _deprecated_function(__FUNCTION__, '2.9', 'the_content_feed');
    $content = get_the_content($more_link_text, $stripteaser);
    $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(']]>', ']]&gt;', $content);
    echo $content;
}

WordPress Version: 3.7

/**
 * Display the post content for the feed.
 *
 * 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. The
 * value of '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.
 *
 * @package WordPress
 * @subpackage Feed
 * @since 0.71
 * @uses apply_filters() Calls 'the_content_rss' on the content before processing.
 *
 * @deprecated 2.9.0
 * @deprecated Use the_content_feed()
 * @see the_content_feed()
 *
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
 * @param int|bool $stripteaser Optional. Default is 0.
 * @param string $more_file Optional.
 * @param int $cut Optional. Amount of words to keep for the content.
 * @param int $encode_html Optional. How to encode the content.
 */
function the_content_rss($more_link_text = '(more...)', $stripteaser = 0, $more_file = '', $cut = 0, $encode_html = 0)
{
    _deprecated_function(__FUNCTION__, '2.9', 'the_content_feed');
    $content = get_the_content($more_link_text, $stripteaser);
    $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(']]>', ']]&gt;', $content);
    echo $content;
}