如何在 Gravity Forms 中获取当前页面
How do I get the current page in Gravity Forms
如何在 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,并获得准确的信息,说明用户正在进行的哪一步效果不佳。
听起来您正在寻找:
GFFormDisplay::get_current_page( $form_id );
对于 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>
如何在 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,并获得准确的信息,说明用户正在进行的哪一步效果不佳。
听起来您正在寻找:
GFFormDisplay::get_current_page( $form_id );
对于 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>