0

我正在编写一个小型 WordPress 数据同步插件,旨在在两个站点之间同步一些记录。当在一个站点上输入新数据项时,该数据项的 JSON 编码版本将发布到另一个站点上的 URL,然后该 URL 对其进行消化并将其保存到本地数据库。

我发现很难弄清楚我应该将 JSON 数据发布到哪个 URL,以便它进入另一端的插件。或者我是否应该重用 admin_ajax,即使这是服务器到服务器而不是浏览器到服务器。

很高兴假设这两个站点都在运行 WordPress 3.3/3.4。

我花了相当长的时间在谷歌上搜索没有结果,这可能只是我在寻找错误的术语。

例如,我可能会获取插件的发送副本以发布到诸如http://www.example.com/wp-content/plugins/datasyncer/incoming.php之类的 URL - 但更短的 URL 或更智能的方式这样做会很棒。虽然我可以通过包含 ../../../wp-load.php 使这个 URL 很容易工作,但我不愿意这样做,因为这会在某些网站上中断,并且被认为是插件中的不良做法。

我正在使用 wp_remote_post() 发布到 URL 部分,问题是要发布到哪个 URL,而不是如何发布。

如果有人有任何帮助的想法,我会编辑这个并更正术语!提前致谢!

4

1 回答 1

1

您可以在任何地方发布(当然,在前端,而不是在管理端)。您甚至可以发布到主页。只要确保您不发布任何与 wordpress 核心冲突的数据。例如:name、post、p 都是保留的。为所有帖子变量添加前缀“myplugin_name”是可以的,“name”不是。然后在您的插件代码中添加一个条件来检查是否发布了某些内容:

if(isset($_POST["myplugin_remote_data"])) {
     // check if data was indeed sent by your server. use some api key etc

     // save the data

     // echo some response telling if data was posted or not. anything you want.           

     die(); // no need to show the page
}
于 2012-07-02T09:04:04.517 回答