使用WordPress Gravity Forms将数据发送给第三方

时间:2015-07-24 18:34:47

标签: php wordpress gravity-forms-plugin

我在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 ) );

}

如何选择使用此第三方通话的表单?

3 个答案:

答案 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允许我设置多个第三方表单并与重力表单完全集成。