add_feed

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

WordPress Version: 6.2

/**
 * Adds a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string   $feedname Feed name.
 * @param callable $callback Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $callback)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds, true)) {
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook.
    remove_action($hook, $hook);
    add_action($hook, $callback, 10, 2);
    return $hook;
}

WordPress Version: 6.1

/**
 * Adds a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string   $feedname Feed name.
 * @param callable $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds, true)) {
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook.
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 2);
    return $hook;
}

WordPress Version: 5.5

/**
 * Add a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string   $feedname Feed name.
 * @param callable $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds, true)) {
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook.
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 2);
    return $hook;
}

WordPress Version: 5.4

/**
 * Add a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string   $feedname Feed name.
 * @param callable $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds)) {
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook.
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 2);
    return $hook;
}

WordPress Version: 5.3

/**
 * Add a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
 *
 * @param string   $feedname Feed name.
 * @param callable $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds)) {
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 2);
    return $hook;
}

WordPress Version: 4.4

/**
 * Add a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite
 *
 * @param string   $feedname Feed name.
 * @param callable $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds)) {
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 2);
    return $hook;
}

WordPress Version: 4.3

/**
 * Add a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @global WP_Rewrite $wp_rewrite
 *
 * @param string   $feedname
 * @param callback $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds)) {
        //override the file if it is
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 1);
    return $hook;
}

WordPress Version: 3.7

/**
 * Add a new feed type like /atom1/.
 *
 * @since 2.1.0
 *
 * @param string $feedname
 * @param callback $function Callback to run on feed display.
 * @return string Feed action name.
 */
function add_feed($feedname, $function)
{
    global $wp_rewrite;
    if (!in_array($feedname, $wp_rewrite->feeds)) {
        //override the file if it is
        $wp_rewrite->feeds[] = $feedname;
    }
    $hook = 'do_feed_' . $feedname;
    // Remove default function hook
    remove_action($hook, $hook);
    add_action($hook, $function, 10, 1);
    return $hook;
}