1. wordpress建站教程首页
  2. WordPress
  3. WordPress建站教程

WordPress 通过 fetch_feed 函数调用外站订阅源文章-WordPress建站教程

WordPress 2.8 就新增了 fetch_feed 函数,就可以通过该函数直接调用外站 Feed 订阅源内容,子凡也曾分享过“WordPress 通过 FEED RSS 调用其它站点的最新文章列表”则是 SimplePie 和 FeedCache 功能进行检索和解析以及自动缓存,而自 WordPress 4.7.0 版本起,已不建议使用 class-feed.php,需要换用 fetch_feed()。

WordPress 2.8 就新增了 fetch_feed 函数,就可以通过该函数直接调用外站 Feed 订阅源内容,子凡也曾分享过“WordPress 通过 FEED RSS 调用其它站点的最新文章列表”则是 SimplePie 和 FeedCache 功能进行检索和解析以及自动缓存,而自 WordPress 4.7.0 版本起,已不建议使用 class-feed.php,需要换用 fetch_feed()。

WordPress fetch_feed

上周子凡在进行站点做 PHP7.2 的兼容测试,顺便开启了 WordPress debug,所以也就出现了“Notice: 自 4.7.0 版本起,已不建议使用 class-feed.php,请换用 fetch_feed()。”的提示,于是就稍微了解了一下 fetch_feed()函数,原来也只是封装了一下 SimplePie 而已,并且将缓存以 _transient 的形式存入的数据库,默认的缓存时间为 12 小时,更重要的是无法直接通过 fetch_feed 函数自定义这些参数,除了能够定义 feed 源,基本就没有什么可操作性了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// WordPress 通过 fetch_feed 函数调用外站订阅源文章
include_once( ABSPATH . WPINC . \'/feed.php\' );
$feedurl = array(
	\'https://www.tearsnow.com/news/feed\',
	\'https://zhangzifan.com/feed\',
);
$rss = fetch_feed( $feedurl );
$maxitems = 0;
if ( ! is_wp_error( $rss ) ) :
	$maxitems = $rss->get_item_quantity( 5 ); //数量
	$rss_items = $rss->get_items( 0, $maxitems );//从 0 开始
endif;
 
if ( $maxitems == 0 ) :
	echo \'<li>没有内容</li>\';
else :
	foreach ( $rss_items as $item ) :
		echo \'<li><a target="_blank" href="\'.esc_url( $item->get_permalink() ).\'">\'.esc_html( $item->get_title() ).\'</a></li>\';
	endforeach;
endif;

看完代码,再对比之前子凡分享过的文章“WordPress 通过 FEED RSS 调用其它站点的最新文章列表”,虽然实现了同样的功能,并且也保证了 WordPress 的最新标准,但是子凡作为一个力求极致的人,并不希望将这些数据缓存写入数据库,因为写入数据库的 _transient 虽然会被清除再次缓存,但是我依旧认为没有直接写入硬盘作为缓存来得更实在,并且 fetch_feed 函数无法自定义,导致了非常多的局限性。

所以子凡最终还是没有直接使用 fetch_feed 函数,而是继续使用了之前的方式方法,当然这里子凡不使用,只是个人单纯的偏执罢了,之所以把功能和代码分析出来,也是希望可以给大家一个更多的解决方法,多一个选择有什么不好呢?

更多关于 WordPress 优化及疑问可以添加 QQ 群:255308000

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/wordpress-fetch_feed.html

原创文章,作者:泪雪博客,如若转载,请注明出处:http://jc.51jztj.com/archives/129512

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

邮箱地址不会被公开。 必填项已用*标注