10个优化WordPress RSS Feed的技巧(2)

在上一篇文章中,我介绍了10个优化WordPress RSS Feed的技巧的前5个技巧。相对上5个技巧的实用,下面这些更多体现的是细节的完善。有一些比较高级应用,当然,事实上,按照下面的教程,相信你也可以轻松做到。难道不是吗?

6. 让特定分类不在RSS Feed中显示

出现问题: 你是否有一些诸如记录网站成长等的分类,它们与你关注的内容并不同,很多人认为这并不适合在RSS

feed中显示,当然,虽然我不觉得如此,但一旦你想让特定的分类不在RSS Feed中显示的话。 解决方法: 来吧,按照下面的方法一步一步来:

  1. 首先要做的是找到这个你不想显示的分类的ID,如果你不知道如何找出这个分类ID,可以看一下这篇文章.

  2. 打开你主题的functions.php,没有的新建一个;

  3. 把下面的代码复制到里面去:

    1
    2
    3
    4
    5
    6
    7
    function myFilter($query) {
    if ($query->is_feed) {
    $query->set("cat","-5"); //Don"t forget to change the category ID =^o^=
    }
    return $query;
    }
    add_filter("pre_get_posts","myFilter");

相关资源:

7. 在你的Wordpress博客显示任何 RSS Feed

出现问题: 是否一个人管理多个博客,或者还有论坛呢?或者说想显示某些网站的RSS Feed? 解决方法:

很多插件可以解决这个问题。不过,WP内置了一个小型的RSS feed 阅读器,比如后台首页显示的RSS。而你要做的就是,把这个阅读器运用到你的主题里面:

  1. 把下面的的代码复制到你主题的任何地方, (个人建议在sidebar, footer,甚至可以在页面中显示):
1
2
3
4
<?php
include_once(ABSPATH.WPINC."/rss.php");
wp_rss("http://feed.sofish.de", 3);
?>
  1. 保存,不过,记得把上面RSS feed URL改成你自己的。

相关资源:

8. 为每个分类提供分开的 RSS Feeds

出现问题:

大多数人关注不同的问题,比如设计、评论等,但是,读者有可能只是喜欢你的某个类型,比如,像大多数幸福收藏夹的读者,都偏向于喜欢wordpress相关的内容。

解决方法:

比如你可以订阅我的wordpress分类,像你知道的,这个分类的地址是:

http://www.sofish.de/archives/category/wordpress/ 订阅这个分类的RSS Feed,你只要在URL后面加上 /feed

如下,就可以只订阅这个分类的内容了:

http://www.sofish.de/archives/category/wordpress/feed 不是难题吧?哈哈,简单但非常有用的方法呢!

9. 显示分类的RSS Feed列表

出现问题: 像上面所说的,你可能出现像上面一样的问题,但并不是所有人都知道怎么获得单个分类的feed地址。 解决方法:

  1. 修改你的主题,想想要显示分类的地方加上下面的代码:
1
2
3
<?php
wp_list_categories("feed_image=http://www.myblog.com/image.gif&feed=XMLFeed&optioncount=1&children=0");
?>
  1. 保存,就OK啦! 上面引用的图片是来自yahoo的myblog

10. Get Rid of RSS Feeds the Clean Way

出现问题:

你可以利用WordPress来制作一个CMS,管理你的档案或者公司,这时,RSS feed并不是很重要。所以,删除掉它。 解决方法: 我见过很多hack,比如修改 include 中的 wp-settings.php文件。不过,修改内核并不是理想的做法,而更好的方法是,在你主题中的functions.php加入页面的代码,来停用Feed:

1
2
3
4
5
6
7
8
function fb_disable_feed() {
wp_die( __("No feed available,please visit our <a href="". get_bloginfo("url") ."">homepage</a>!") );
}
add_action("do_feed", "fb_disable_feed", 1);
add_action("do_feed_rdf", "fb_disable_feed", 1);
add_action("do_feed_rss", "fb_disable_feed", 1);
add_action("do_feed_rss2", "fb_disable_feed", 1);
add_action("do_feed_atom", "fb_disable_feed", 1);

相关资源:

本文转载自:http://sofish.de/794,感谢原作者。