前一个多月中都是用 fetch_rss() 函数 (定义在 wp-includes/rss.php 中) 来获取外部 RSS 数据的,代码如下:
1 2 3 4 5 6 7 |
<?php $articles = fetch_rss("http://feed.unmi.cc"); foreach($articles as articles){ echo $article['title'].'=>'.$article['link']; //更多元素可用 var_dump($article) 查看 } ?> |
当然,你可以用 wp_rss() 或 get_rss() 直接在页面上显示获取的 rss 记录,我是需要处理 $articles 数组变量的。
可是近两三日来,不知怎地,fetch_rss() 总拿不到 rss 中的数据,就是今天不断的测试也是没有用。我的 WordPress 安装了 kb-advanced-rss-widget 插件,该插件里也带了 fetch_rss 函数定义,难道是定义的同名函数有冲突。也不对呀,这个插件可是一直在的,为何这么久还用得好好的。
先把问题解决了再说,还是 Eclipse 的 PHP 插件好用,输入 fetch_ 后会提示出 fetch_feed() 函数来,feed 本来就称得上是 rss 的别名。那就用 fetch_feed() (定义在 wp-includes/feed.php 中)吧,它得到的不再是一个数组,而是一个 SimplePie 对象,所以使用时略有不同,是通过方法来得到具体数据的。
1 2 3 4 5 6 7 8 9 10 11 |
<?php $articles = fetch_feed("http://feed.unmi.cc"); foreach($articles->get_items() as $article){ ?> <li> <a href='<?php echo $article->get_permalink(); ?>'> <?php echo $article->get_title(); ?> </a><br> <?php echo $article->get_description(); ?> </li> <?php } ?> |
OK,现在是可以了
参考:1. Convert WordPress fetch_rss to fetch_feed
2. WordPress fetch_feed调用站外文章
3. wordpress获取rss内容的函数wp_rss、fetch_rss
本文链接 https://yanbin.blog/wordpress-fetch_rss_to_fetch_feed/, 来自 隔叶黄莺 Yanbin Blog
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。