为一个特定标签更改 Wordpress 提要 <link>

Change Wordpress feed <link> for one specific tag

我有一个外部页面可以读取标签的 RSS 提要。我无法更改外部页面上的任何内容,因此挑战在于更改我这边的 RSS 提要以满足要求。 在外部页面上,显示了标签的 3 个最新 posts,并且在该部分的末尾(注意:不是在每个 post 之后,而是在所有 3 posts 之后)有一个 "View all" link。此 link 从提要中的元素接收其值,该元素默认设置为我的博客主页,例如http://myblog.com). For this specific tag the link should be http://myblog.com/tag/myspecialtag.

要求是"View all"linklinks到标签页而不是主页。

我的想法是向元素添加条件以更改此特定类别的 URL。我尝试按照此处的建议更改提要模板:Customizing feeds,但出于某种原因,它根本没有更改模板。我试过的代码如下:

remove_all_actions( 'do_feed_rss2' );
add_action( 'do_feed_rss2', 'change_feed_rss2', 10, 1 );

function change_feed_rss2( $for_comments ) {
    $rss_template = get_template_directory() . '/feeds/feed-custom_rss2.php';
    if( file_exists( $rss_template ) )
        load_template( $rss_template );
    else
        do_feed_rss2( $for_comments ); // Call default function
}

当然,我创建了自定义提要模板并将其存储在主题的提要目录中。

由于这不起作用,我尝试调查 filters/hooks 但我找不到任何对我的问题有帮助的信息。关于如何最好地解决这个问题有什么想法吗?

我想到了以下解决方案: 我创建了一个新的自定义页面模板 custom_rss-feed.php 并将代码从 wp-includes/feed-rss.php 复制到其中。我将这个模板分配给了一个新页面。此外,我向 get_bloginfo_rss 添加了一个过滤器,如下所示:

function alter_bloginfo_rss($value, $key) {

    if ( $key === "url" &&
        is_page_template("custom_rss-feed.php")
    ) {

        return $value . "/my/custom/url";
    }

    return $value;
}

add_filter("get_bloginfo_rss", "alter_bloginfo_rss", 10, 2);