将WP帖子发送到外部API

时间:2012-01-12 作者:John Mellor

将所有新的Wordpress帖子发送到另一台服务器上的外部脚本的最佳方法是什么?

它需要包含完整的帖子信息,包括帖子内容,因此简单的ping是不够的。

我查看了Wordpress插件的工作方式(没有任何以往的经验),publish\\u post和edit\\u post操作似乎是正确的,但我遇到了一些问题,即发送的数据不是最新的,例如edit\\u post发送了一个post\\u id,我使用get\\u post(),提供的数据是旧数据。

另一个相当大的问题是,可能需要使用CURL将帖子发送到外部服务器,而不是所有站点都可以访问该服务器。

我能想到的唯一其他解决方案是在wp\\u init()上附加一个函数,以拦截来自我的服务器的任何请求。要澄清这一点,我的服务器需要使用自定义用户代理(如“mysite/1.0”)请求WP索引。如果检测到此自定义用户代理,插件将自行输出一些内容,然后退出,阻止标准WP输出。

这样,我就可以使用内置的ping服务从wordpress ping我的服务器,从这个ping中获取永久链接,然后将请求发送回WP,WP将被我的插件截获,并将帖子输出为json。

这听起来可行吗?

是否有另一种常用的方法将整个帖子发送到我不知道的外部脚本?

我对Wordpress很陌生,实际上我自己并不使用它,但有人问我,使用Wordpress的人如何将他们的内容自动导入到我的网站,所以我说我会考虑创建一个插件来做到这一点:)

1 个回复
SO网友:mor7ifer

我认为更好的处理方法是让其他网站从feed中获取内容。或者,您可以在每次执行publish_posts 钩子,但这会给您带来无法同时编辑的问题。另一种解决方案是允许服务器查询WordPress数据库,并从posts表中提取所需的数据。

结束