Rya*_*ebo 2 php forms api wordpress gravity-forms-plugin
我目前正在尝试将信息从 Gravity Froms 发送到第三方 API。据我所知,Gravity Forms 中有一个gform_after_submission挂钩可以将信息发送到第三方 API。
add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {
$post_url = 'http://thirdparty.com';
$body = array(
'first_name' => rgar( $entry, '1.3' ),
'last_name' => rgar( $entry, '1.6' ),
'message' => rgar( $entry, '3' ),
);
GFCommon::log_debug( 'gform_after_submission: body => ' . print_r( $body, true ) );
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
GFCommon::log_debug( 'gform_after_submission: response => ' . print_r( $response, true ) );
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用它,但我还需要根据 API 提供的不同方法发送信息。在本例中,我正在创建一个表单,供用户输入新的奖励卡或转让卡。基本上我必须查看我的表单并发送一个调用来检查旧卡号的方法,发送一个调用来添加/更新客户,等等。
现在使用 Gravity Forms gform_after_submission,我怎样才能实现将信息输入 API 上的正确方法所需的一切。请理解,这是我第一次将信息从重力形式发送到这样的 API。
小智 5
function post_to_third_party( $entry, $form ) {
//To fetch input inserted into your gravity form//
$old_card = rgpost( 'input_6' );
$new_card = rgpost( 'input_3' );
///to send that fetched data to third-party api///
$post_url = 'http://thirdparty.com/{APi request}';
$body = array(
'old_card' => $old_card,
'new_card' => $new_card,
);
GFCommon::log_debug( 'gform_after_submission: body => ' . print_r( $body, true ) );
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
//response from api whether card is exist or not///
$res = json_decode($response['body'],true);
///here you can put your logic as per the response//
}
add_action( 'gform_after_submission_4', 'post_to_third_party', 10, 2 );
Run Code Online (Sandbox Code Playgroud)
希望我已经解释得很好并帮助您更好地理解事情。您可以根据需要更改表单数据,祝您好运。