我想提交联系人表单的自定义功能下面的代码是获得的示例,但当提交。它提交的形式,但不是我想要的字段。
$item = wpcf7_contact_form( $formId ); $result = $item->submit();
在这里我可以传递我在管理面板中定义的字段,如**“textarea-123”&“email-234”**?
fcy6dtqo1#
我没有得到确切的答案,我看什么,但我找到了替代解决方案。
function cf7Submit($formId , $args) { $url = 'http://example.com/wp-json/contact-form-7/v1/contact-forms/'.$formId.'/feedback'; $response = wp_remote_post( $url, array( 'method' => 'POST', 'body' => $args ) ); if ( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); echo "Something went wrong: $error_message"; } else { echo 'Response:<pre>'; print_r( $response ); echo '</pre>'; } }
我可以这样调用这个函数:
cf7Submit(128, array( 'textarea-123' => 'test email', 'email-234' => 'asd@asd.com'));
czfnxgou2#
@daraptoor已经找到了一个很好的解决方案,但正如@davevsdave在评论中注意到的,它在CF 7 5. 6中并不能正常工作。错误415是由于向API检查中添加了传递到请求标头中的内容类型而导致的:
// part of create_feedback() from CF7's rest-api.php if ( ! str_starts_with( $content_type, 'multipart/form-data' ) ) {
要解决这个问题,只需将预期的内容类型添加到请求头中:
$response = wp_remote_post( $url, array( 'method' => 'POST', 'headers' => array( 'Content-Type' => 'multipart/form-data' ), 'body' => $args ) );
vsdwdz233#
你可以添加一段JS代码,比如:$("form.wpcf7").submit()
$("form.wpcf7").submit()
3条答案
按热度按时间fcy6dtqo1#
我没有得到确切的答案,我看什么,但我找到了替代解决方案。
我可以这样调用这个函数:
czfnxgou2#
@daraptoor已经找到了一个很好的解决方案,但正如@davevsdave在评论中注意到的,它在CF 7 5. 6中并不能正常工作。
错误415是由于向API检查中添加了传递到请求标头中的内容类型而导致的:
要解决这个问题,只需将预期的内容类型添加到请求头中:
vsdwdz233#
你可以添加一段JS代码,比如:
$("form.wpcf7").submit()