简短的版本是您可以利用WordPress\'s HTTP API 要从外部API(或者该服务的专用PHP库,如果它们提供的话)获取数据,那么wp_insert_post()
将该数据插入新帖子。关于如何注册或处理相关的CPT,没有什么独特之处。
假设这是一种;同步例程“;通过定期运行WP_Cron
或者,您可能还希望存储上次同步数据的时间戳,并且只向远程API询问比该时间戳更新的内容(或者更可靠,可能比该时间戳早几分钟,以说明潜在的边缘情况),使用一段post meta存储远程服务对该段数据的标识符,以防止将数据处理成重复的post。
如果传入的数据量足够大,有可能超出PHP脚本执行时间限制,那么您可能希望对较小的数据块请求进行排队,并使用后台队列处理这些请求-Woo的Action Scheduler 这是一种令人愉快的方式。它使用一种在本地对同一安装执行HTTP请求的技术,允许它在WordPress环境中独立于任何前端请求执行任何功能,并在必要时级联请求以处理长时间运行的例程。
关于这个主题,可能还有很多可以说的,但是实现的细节在很大程度上取决于实际用例。例如,保持所有帖子中的数据与某些外部API中的数据同步完全是另一回事,这在很大程度上取决于API提供的功能。