Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress插件远程访问WordPress URL以跨网络发送数据_Wordpress_Url_Plugins - Fatal编程技术网

WordPress插件远程访问WordPress URL以跨网络发送数据

WordPress插件远程访问WordPress URL以跨网络发送数据,wordpress,url,plugins,Wordpress,Url,Plugins,我正在编写一个小的WordPress数据同步插件,用于在两个站点之间同步一些记录。当在一个站点上输入新数据项时,该数据项的JSON编码版本将发布到另一个站点上的URL,该URL随后对其进行消化并将其保存到本地数据库 我发现很难确定我应该将JSON数据发布到哪个URL,以便它进入另一端的插件。或者我是否应该重用admin_ajax,即使这是服务器到服务器而不是浏览器到服务器 很高兴假设这两个站点都运行WordPress 3.3/3.4 我花了相当长的时间在谷歌上搜索,但没有结果,这可能只是因为我在

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

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

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

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

例如,我可能会将插件的发送副本发布到一个URL上,比如-但是一个更短的URL或者一个更聪明的方式会更好。虽然我可以通过包含../../../wp-load.php使这个URL非常容易地工作,但我不愿意这样做,因为这会在一些网站上破坏,并且在插件中被认为是不好的做法

我使用wp_remote_post()来完成post-to-URL部分,问题是要发布到哪个URL,而不是如何发布


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

你可以在任何你想要的地方发帖(当然是在前端,而不是在管理员端)。你甚至可以发布到主页。只需确保你不会发布任何与wordpress core冲突的数据。例如:姓名、职位、p都是保留的。 为所有post变量添加前缀“myplugin\u 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
}

我几乎可以肯定我走错了路!我的想法正确吗?我必须以某种方式将POST变量“myplugin\u remote\u data”添加到允许的POST变量列表中?@BrianC是的,发布时需要添加该变量。看起来只有GET变量受到限制,因此没有问题。谢谢你的帮助!