我在functions.php中使用以下code通过cURL提交给第三方。 问题是这个代码对于我的所有表单实例都是通用的(我的WP站点上有无数的Gravity Forms,我只需要一个去第三方)
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' ),
);
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
}
如何选择使用此第三方通话的表单?
答案 0 :(得分:2)
您发布的链接几乎包含了您需要了解的有关Gravity Forms的所有文档。您需要做的就是检查当前表单使用的任何标识符的$form
参数:
add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {
if($form['title'] !== 'your-form-title'){ //Check the title
return; //If the title doesn't match, don't POST
}
$post_url = 'http://thirdparty.com';
$body = array(
'first_name' => rgar( $entry, '1.3' ),
'last_name' => rgar( $entry, '1.6' ),
'message' => rgar( $entry, '3' ),
);
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
}
预先检查标题,以确定您是否确实要将信息发布到第三方网址。虽然检查标题肯定会使您的代码更具可读性,但我实际上建议您检查表单的ID以获得更好的可靠性。 More information on Form Objects here
答案 1 :(得分:2)
您可以将表单ID附加到操作名称以挂钩到特定表单:
add_action( 'gform_after_submission_5', 'post_to_third_party', 10, 2 );
The documentation for gform_after_submission can be found here
答案 2 :(得分:0)
Forms 3rd party Integration Plugin允许我设置多个第三方表单并与重力表单完全集成。