使用FETCH_FEED组合多个RSS提要

时间:2011-01-25 作者:George Wiscombe

我正在使用fetch\\u feed显示我正在处理的主题的rss提要。

我认为文档暗示您可以组合多个提要,任何人都可以确认这一点,最好用一个示例。

提前谢谢!乔治

1 个回复
最合适的回答,由SO网友:MathSmath 整理而成

从技术上讲,您可以传递多个feed URL以获取作为数组的\\u feed(),它将一次获取所有这些URL。但是返回的结果完全是一团糟,我个人也不知道如何解析它。

如果没有人知道如何使用fetch\\u feed()实现这一点,我可以使用SimplePie类提供解决方案(fetch\\u feed实际上使用的是SimplePie类)。SimplePie类有一些用于解析返回的助手方法,它们使事情变得非常简单。

尝试以下操作:

// Contains the SimplePie class
require_once (ABSPATH . WPINC . \'/class-feed.php\');

// New class instance
$feed = new SimplePie();

// You feed URLs
$feed->set_feed_url(array(\'http://rss.cnn.com/rss/cnn_topstories.rss\', \'http://cuteoverload.com/feed/\'));

// Do it!
$feed->init();
$feed->handle_content_type();

// Loop the results
foreach($feed->get_items() as $item) {

    echo $item->get_title();
    echo \'<hr/>\';

}
其他SimplePie方法包括get\\u permalink()和get\\u description()。

这种方法唯一的缺点是,SimplePie曾经被WordPress淘汰,取而代之的是另一个类,这将打破

UPDATE

正如@Rarst在评论中指出的,您不需要直接访问SimplePie。可以对fetch\\u feed()返回的对象使用其方法。所以答案比我想象的要简单得多:

$feed = fetch_feed(array(\'http://rss.cnn.com/rss/cnn_topstories.rss\', \'http://cuteoverload.com/feed/\'));

// Loop the results
foreach($feed->get_items() as $item) {

    echo $item->get_title();
    echo \'<hr/>\';

}

结束

相关推荐

在WordPress.com上使用Feedburner而不是默认提要?

如何禁用WordPress上的默认提要。com并改用Feedburner feed?我知道如何在一个自托管的WordPress网站上,但我不知道如何在一个免费的WordPress上。网站。