新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 站长之家 > 经验技巧 > 正文:如何让WP某一分类下的文章不在Feed输出

如何让WP某一分类下的文章不在Feed输出

新客网 XKER.COM 2008-06-12 来源:Kriesi 抽筋儿 收藏本文

WordPress自动生成的RSS Feed是默认输出每个目录分类下的每一篇日志的,但有时,我们想唠叨下又不想打扰到关注有意义信息的订阅者,怎么办呢?只需要把唠叨的日志归类到一个分类,然后在Feed里让该分类下日志不显示就OK咯!

如何实现呢?方法有二:

通过URL除掉分类下日志的Feed显示;

通过一个小函数除掉分类下日志的Feed显示。

两种方法都很简单,首先要知道分类的ID。WP 2.5版以前,在控制面板“管理”->“分类”下面即可见分类ID;在WP 2.5之后,这些分类ID不直接显示出来了,但可以通过分类链接来判断:控制面板“管理”->“分类”下,各分类对应的链接即包含分类ID,如下图所示:

cat-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就好:

以下为引用的内容:

function my_cat_exclude($query) {
if ($query->is_feed) {
$query->set('cat','-20,-21,-22');
}
return $query;
}

add_filter('pre_get_posts','my_cat_exclude');

这样就可以在不调整feed url的情况下,在feed里除去选定分类下的日志了!真是简单整洁的方法,只是没法输出多个feed,没方法一灵活。

标签:WP   Feed  
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
推荐阅读
阅读排行
随机推荐
实用信息推荐