为自己的RSS地址做了一个改变,从之前的http://www.chenyudong.com/feed/变成了http://feed.chenyudong.com/,这样我改变RSS托管商,在域名中改变cname而不用改变我的RSS输出地址,就可以便捷的更换不同的RSS托管商了。

在此之前搜了很多改变RSS地址的文章,发现均不管用。这边文章发表时使用的是WordPress 3.3.1版本,好多文章使用的比我老的版本做的测试。

直接更改header.php的输出

网络上有说更改{themes}/header.php文件中的以下代码。

<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
//更改为以下方式
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="http://feed.chenyudong.com/" />

但是这种修改方法这我的这个版本中没有,这个应该是老版本吧。

更改get_bloginfo中的输出

还有说更改wp-includes/general-template.php文件中的get_bloginfo()函数中的代码。

case 'rss2_url':
    $output = get_feed_link('rss2');//将这个替换了
    break;
//更改为以下
case 'rss2_url':
    $output = 'http://feed.chenyudong.com/';
    break;

这个修改的效果是在WordPress侧边栏的RSS地址中出现改变了,不是在中发生变化。所以此方法也无效。

在functions.php中添加过滤器

在主题下{themes}/functions.php中末尾添加以下代码。

add_filter('feed_link','custom_feed_link', 1, 2);

function custom_feed_link($output, $feed) {

    $feed_url = 'http://feed.chenyudong.com/';
    //具体可以更改以下的不容feed的链接
    $feed_array = array('rss' => $feed_url, 'rss2' => $feed_url, 'atom' => $feed_url, 'rdf' => $feed_url, 'comments_rss2' => '');
    $feed_array[$feed] = $feed_url;
    $output = $feed_array[$feed];

    return $output;
}

//然而目录、作者、标签的feed地址都和上面的相同,你可能需要添加以下的方法
add_filter('category_feed_link', 'other_feed_links');
add_filter('author_feed_link', 'other_feed_links');
add_filter('tag_feed_link','other_feed_links');
add_filter('search_feed_link','other_feed_links');

function other_feed_links($link) {
    $link = 'http://feed.chenyudong.com/other';
    return $link;
}

可以根据需要在$feed_array数组中更改具体的rss地址,这个修改方法有效,在首页头部<head></head>中正确出现。

通过rewrite改写功能来实现feed地址改变

为子域名http://feed.chenyudong.com/建立一个空间,在根目录中的.htaccess文件中添加以下代码,重写url规则改变地址。

RewriteRule . http://feed.feedsky.com/chenyudong [L]

缺点就是比较麻烦,要给子域名创建空间,网上说301重定向只有Google Reader能识别,其他的像鲜果、抓虾、豆瓣无法识别。优点更换便捷,比用cname自由度高,能对feed.chenyudong.com有更多的使用权。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: wordpress更改自定义rss feed地址 – https://www.chenyudong.com/archives/wordpress-change-rss-feed-url-with-custom-url.html