我不熟悉重力形式的钩子。 我创建了2个注册过程表单,这些表单以单个模态显示,但在不同的div中调用。我希望在提交特定表单(最后一个表单)后,使用gform_after_submission将条目数据从2个表单发送到第三方应用程序,然后将条目数据发送给第三方。
然而这样做:
add_action( 'gform_after_submission_2', '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 ) );
}
只允许我从指定的表单ID中获取输入字段。
我怎么可能从其他表格中获取条目,以便我可以包含并将其发布到第三方网址?
非常感谢。
答案 0 :(得分:1)
因为您在add_action本身中指定了表单ID,所以只有在提交ID为2的Gravity Form时才运行您的函数。如果您希望它运行多个提交,但后来将其限制为特定的表单ID,那么更像是这样:
add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {
if( $form->id == 2 || $form->id == somenumber ) {
$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 ) );
}
}
如果您不处理该对象,则可能需要使用$form['id']
。其中一个会起作用。缺点是您必须知道要使用的表单的ID。在查看您创建的表格表时,很容易在后端找到它,但它就是它......
答案 1 :(得分:0)
如果您要将表单数据保存到同一帖子,也许您可以根据帖子ID
获取日期