get_feed_link

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

WordPress Version: 6.3

/**
 * Retrieves the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string $feed Optional. Feed type. Possible values include 'rss2', 'atom'.
 *                     Default is the value of get_default_feed().
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ($permalink) {
        if (str_contains($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (str_contains($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filters the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   The feed type. Possible values include 'rss2', 'atom',
     *                       or an empty string for the default feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 5.7

/**
 * Retrieves the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string $feed Optional. Feed type. Possible values include 'rss2', 'atom'.
 *                     Default is the value of get_default_feed().
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ($permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filters the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   The feed type. Possible values include 'rss2', 'atom',
     *                       or an empty string for the default feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 5.5

/**
 * Retrieves the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string $feed Optional. Feed type. Possible values include 'rss2', 'atom'.
 *                     Default is the value of get_default_feed().
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' !== $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filters the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   The feed type. Possible values include 'rss2', 'atom',
     *                       or an empty string for the default feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 5.3

/**
 * Retrieves the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string $feed Optional. Feed type. Possible values include 'rss2', 'atom'.
 *                     Default is the value of get_default_feed().
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' != $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filters the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   The feed type. Possible values include 'rss2', 'atom',
     *                       or an empty string for the default feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 4.6

/**
 * Retrieves the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @global WP_Rewrite $wp_rewrite
 *
 * @param string $feed Optional. Feed type. Default empty.
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' != $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filters the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   Feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 4.3

/**
 * Retrieve the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @global WP_Rewrite $wp_rewrite
 *
 * @param string $feed Optional, defaults to default feed. Feed type.
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' != $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filter the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   Feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 4.1

/**
 * Retrieve the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @param string $feed Optional, defaults to default feed. Feed type.
 * @return string The feed permalink.
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' != $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filter the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   Feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 3.9

/**
 * Retrieve the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @param string $feed Optional, defaults to default feed. Feed type.
 * @return string
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' != $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    /**
     * Filter the feed type permalink.
     *
     * @since 1.5.0
     *
     * @param string $output The feed permalink.
     * @param string $feed   Feed type.
     */
    return apply_filters('feed_link', $output, $feed);
}

WordPress Version: 3.7

/**
 * Retrieve the permalink for the feed type.
 *
 * @since 1.5.0
 *
 * @param string $feed Optional, defaults to default feed. Feed type.
 * @return string
 */
function get_feed_link($feed = '')
{
    global $wp_rewrite;
    $permalink = $wp_rewrite->get_feed_permastruct();
    if ('' != $permalink) {
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', '', $feed);
            $permalink = $wp_rewrite->get_comment_feed_permastruct();
        }
        if (get_default_feed() == $feed) {
            $feed = '';
        }
        $permalink = str_replace('%feed%', $feed, $permalink);
        $permalink = preg_replace('#/+#', '/', "/{$permalink}");
        $output = home_url(user_trailingslashit($permalink, 'feed'));
    } else {
        if (empty($feed)) {
            $feed = get_default_feed();
        }
        if (false !== strpos($feed, 'comments_')) {
            $feed = str_replace('comments_', 'comments-', $feed);
        }
        $output = home_url("?feed={$feed}");
    }
    return apply_filters('feed_link', $output, $feed);
}