如何在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(分析),以获取有关用户所处步骤不正确的准确信息。
答案 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>