Ah *_*ang 2 php wordpress custom-wordpress-pages wordpress-rest-api
我想更改提交按钮以能够触发 ajax 或任何可以将 POST 请求发送到另一台服务器的东西(因为我想在另一台服务器中管理从 wordpress 提交的所有数据)。Wordpress 只是带有 webform 的简单 UI 页面,用于创建记录并发送到另一台服务器。我对 PHP 一无所知。我如何设法修改代码以实现它?不要担心 CORS 问题,因为我可以处理
这就是你所需要的。
在您的主题 functions.php 文件中,您需要添加此 WPForms 操作,这将在您完成并提交表单时触发。
add_action( 'wpforms_process_complete', 'sendingDataToJava', 10, 4 );
function sendingDataToJava( $fields, $entry, $form_data, $entry_id) {
//Specify WPForm ID you have there
//if form ID is 1
if (form_data[id] == 1) {
$api_url = 'http://some java end point.com';
$body = array(
'name' => $fields['1']['value'],
'email' => $fields['2']['value'],
'phone' => $fields['3']['value'],
);
$request = wp_remote_post( $api_url, array( 'body' => $body ) );
}
}
Run Code Online (Sandbox Code Playgroud)
您将不得不在您使用的表单中看到 $fields id,并相应地更改上面的内容。您还需要检查如何获取 Java 端点文件中的数据。
其它的办法
另一种方式是通过在您的functions.php中添加此操作来进行ajax请求
add_action( 'wp_ajax_foobar', 'sendingDataToJava' );
add_action( 'wp_ajax_nopriv_foobar', 'sendingDataToJava' );
function sendingDataToJava() {
// do something
// avoids extra 0 at the end of the response
die(); /
}
Run Code Online (Sandbox Code Playgroud)
在您的主题 JS 文件中添加此代码
jQuery(document).ready(function($) {
$('#form_button_id').click( function() {
//
var data = {
name: $('#field_1').val(),
email: $('#field_2').val(),
phone: $('#field_3').val()
};
var ajaxurl = 'http://some java end point.com';
jQuery.post(ajaxurl, data, function(response) {
alert('Data Sent to Sent +' response);
}
);
}
);
}
);
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此 WPForm 操作:https ://wpforms.com/developers/wpforms_process_complete/
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
1746 次 |
| 最近记录: |