从WordPress表单发布到REST API

时间:2012-04-14 作者:TimO

我不想使用REST API发布到wordpress。

我想在wordpress页面上创建一个表单,该表单将向外部REST API发送帖子。用户将输入他们的信息,并可能上载一个文件。当按“提交”时,我希望将此信息发送到其他服务器(而不是wordpress)上的REST API。

是否有允许此操作的插件?有人这样做过吗?当然,我可能会遇到这样的麻烦:http://en.wikipedia.org/wiki/Same_origin_policy

看起来我想做与此相反的事情:http://wordpress.org/extend/plugins/json-api/我想让wordpress Communication在用户按下表单上的按钮时向外部REST API发送帖子,而不是为wordpress创建REST API。

1 个回复
SO网友:Boone Gorges

我不知道有哪个插件能以一种通用的方式做到这一点;在大多数情况下,您需要为要与之通信的每个特定API构建一些自定义的东西。

出于您的目的,关键功能将是wp_remote_post(), 它是WP的HTTP类的POST方法的包装器。(使用此选项,而不是手动执行cURL请求,因为WP\\U Http具有针对不同Http传输模式的各种回退。)这里有一个很好的介绍:http://yoast.com/wp-best-practice/wordpress-http-api/ 同源策略通常仅适用于浏览器。wp_remote_post() 它的同类产品在服务器上启动。

发送数据非常简单-只需在wp_remote_post() 呼叫棘手的部分总是身份验证——API服务器是否期望预注册密钥,或者某种oAuth切换,或者什么。如果它像共享密钥一样简单,您可以将其作为\'body\' 有效载荷。

结束

相关推荐

设置API验证回调

在Chip Bennet的大力帮助下,我终于为Settings API创建了有效的验证回调,只有一个小故障我不知道如何修复。下面是我的验证函数中的foreach循环: foreach ($settings as $setting) { $id = $setting[\'id\']; $type = $setting[\'type\']; $option = get_option(\'XX_theme_settings\');