我发送数据到Ninja表单插件以保存在WP中,基于如何从前端发送数据的示例,我可以在Ninja form docs上看到。我已在使用git add --all
构建的后端端实现了这一点:
laravel/php
$url = $this->postUrl . '/wp-admin/admin-ajax.php';
$client = new Client();
$response = $client->request('POST', $url, [
'form_params' => [
'security' => $this->getNonce(),
'action' => 'nf_ajax_submit',
'formData' => $request->formData,
]
]);
看起来像这样:
formData
其中{
"id":"1",
"fields":[
{"id":"1","value":"My Name"},
{"id": "2","value":"myemail@email.com"},
{"id":"3","value":"some message"}
]
}
是我案例id
中WP ninja form
的ID,而fields数组中的每个对象都代表表单中的字段。该对象的id是该字段的id。在我的情况下,id 1是name字段的id,id 2是email字段的id,而id 3是message字段的id。数据正常保存到Contact form
和message
字段,如下图所示,但不会显示在email
字段中。
在检查WP DB postmeta表时,我可以看到字段被保存为:
name
所以,问题是post_id | meta_key | meta_value
341 field_2 myemail@email.com
341 field_3 some message
341 field_
字段仅保存为name
没有值,为什么在保存其他字段时会出现问题?
我也试过用这样的键值对发送数据:
field_
但是,{
"id":"1",
"fields":[
{"key":"name","value":"My Name"},
{"key": "email","value":"myemail@email.com"},
{"key":"message","value":"some message"}
]
}
字段未被保存。我甚至尝试过message
字段的ID和message
key
字段的组合,但之后没有保存电子邮件字段。我在这里做错了什么?