我如何在重力表格中获取当前页面

时间:2018-12-06 20:27:12

标签: wordpress gravity-forms-plugin

如何在Gravity Forms中获取多页表单的当前页面?我有两种解决方案可以正常工作,但都无法正常工作。

function gf_get_current_page() {
    return rgpost( 'gform_source_page_number_' . $_POST['gform_submit'] ) ? rgpost( 'gform_target_page_number_' . $_POST['gform_submit'] ) : 1;
}

此解决方案将一直有效,直到有人在按下下一步按钮之前未填写必填字段。然后,它说用户位于第3页,即使他们仍然位于第2页,并且需要修复验证错误。

add_action( 'gform_post_paging', 'get_current_page_num_gf', 10, 3 );
function get_current_page_num_gf( $form, $source_page_number, $current_page_number ) {
        echo '<script type="text/javascript">console.log(\'' . $current_page_number . '\');</script>';
}

这很好,直到再次出现验证错误。在这种情况下,无需更改页码,它只会输出任何内容。

我想一直知道用户在哪个页面上。如果他们在第2步中错过了必填问题,那么我想知道他们仍在第2步。

最后,我希望将所有这些信息发送回Google Analytics(分析),以获取有关用户所处步骤不正确的准确信息。

2 个答案:

答案 0 :(得分:1)

您正在寻找的声音:

GFFormDisplay::get_current_page( $form_id );

答案 1 :(得分:0)

对于JS方法,请使用:

<script type="text/javascript">

    jQuery(document).on('gform_post_render', function(event, form_id, current_page){

        // code to trigger on form or form page render

    });

</script>

https://docs.gravityforms.com/gform_post_render/