->
原文:How to modify your Wordpress RSS Feed
作者:Kriesi
译者:抽筋儿
WordPress自动生成的RSS Feed是默认输出每个目录分类下的每一篇日志的,但有时,我们想唠叨下又不想打扰到关注有意义信息的订阅者,怎么办呢?只需要把唠叨的日志归类到一个分类,然后在Feed里让该分类下日志不显示就OK咯!
如何实现呢?方法有二:
- 通过URL除掉分类下日志的Feed显示;
- 通过一个小函数除掉分类下日志的Feed显示。
两种方法都很简单,首先要知道分类的ID。WP 2.5版以前,在控制面板“管理”->“分类”下面即可见分类ID;在WP 2.5之后,这些分类ID不直接显示出来了,但可以通过分类链接来判断:控制面板“管理”->“分类”下,各分类对应的链接即包含分类ID,如下图所示:
所以,如果你想把ID为20的分类在Feed中除掉,就在Feed地址后面加上”?cat=-20″(不要引号)就好了。
例如:
- 正常Feed:http://www.kriesi.at/feed
- 调整后的Feed:http://www.kriesi.at/feed?cat=-20
- 要是想灭掉更多目录:http://www.kriesi.at/feed?cat=-20&cat=-21&cat=-22
可惜,这种Feed地址挺不好看的,所以我们可以借助Feedburner之类的烧制服务来美化。但要注意的是,Feedburner所接纳的句法有点小差异,我们不能用“与”符号“&”,需要改用逗号:
- http://www.kriesi.at/feed?cat=-20,-21,-22
方法一介绍完咯,下面介绍方法二。不想用如上方法的话,可以看看用小函数滴方法。只要在functions.php里加入如下code就好:
if ($query->is_feed) {
$query->set('cat','-20,-21,-22');
}
return $query;
}
add_filter('pre_get_posts','my_cat_exclude');
这样就可以在不调整feed url的情况下,在feed里除去选定分类下的日志了!真是简单整洁的方法,只是没法输出多个feed,没方法一灵活。
Hope this HELPFUL !
Update:fcicq在留言里提到,已经有这种WP插件的存在了哦,见以下:
http://wordpress.org/extend/plugins/advanced-category-excluder/


12 responses to "[翻译]如何让WP一分类下的文章不在Feed输出"
0:23 on 六月 11th, 2008
好吧,我承认是来坐沙发的。
回复他/她
6:55 on 六月 11th, 2008
很好的一篇文章,谢啦。
回复他/她
9:03 on 六月 11th, 2008
回复他/她
9:20 on 六月 11th, 2008
你还是用这个吧…
http://wordpress.org/extend/plugins/advanced-category-excluder/
回复他/她
9:23 on 六月 11th, 2008
@fcicq 果然有此类插件的存在啊。。。我囧~
回复他/她
13:17 on 六月 12th, 2008
感觉WP没啥不能做成插件的,也就是说什么插件都有
囧…
回复他/她
15:31 on 六月 15th, 2008
原来还可以这样做,学习了。
回复他/她
19:49 on 六月 16th, 2008
初来道访,博客写得倒还津津有味的嘛,呵呵。不过主题是不是有点乱?
回复他/她
21:10 on 六月 16th, 2008
@nydalu 是辉常乱,呵呵。
回复他/她
9:05 on 六月 20th, 2008
呵,插件真是无所不能呀
回复他/她
21:28 on 七月 14th, 2008
很不错的方法,通俗易懂
回复他/她
16:24 on 八月 19th, 2008
不懂代码!看不懂eee
回复他/她