重力表单跳过表单,如果已经使用Cookie填写?

时间:2016-10-31 作者:Jake Wilson

我设置了一个重力表单页面,在您填写表单后,您将进入一个确认页面,在那里您可以下载一些资源。

这种设置的问题是:假设有人填写表单,然后进入确认页面,然后离开网站。后来,他们记得需要从确认页面下载不同的文件。他们回到现场,必须再次填写表格。

Gravity表单中是否有一些选项可以指定cookie或指示用户已填写表单的内容,并将其再次直接带到确认页面?

2 个回复
最合适的回答,由SO网友:brianjohnhanna 整理而成

下面是一些关于如何简单地利用gform_after_submission 重力钩子表单,用于根据提交的表单ID设置cookie,然后在确认页面上通过钩子template_redirect.

为了自定义功能,您需要查看以下文档:setcookie, gform_after_submissiontemplate_redirect.

For the form

// Make sure to swap out {your_form_id} with the ID of the form.

add_action( \'gform_after_submission_{your_form_id}\', \'wpse_set_submitted_cookie\', 10, 2 );

function wpse_set_submitted_cookie( $entry, $form ) {

    // Set a third parameter to specify a cookie expiration time, 
    // otherwise it will last until the end of the current session.

    setcookie( \'wpse_form_submitted\', \'true\' );
}
For the page

add_action( \'template_redirect\', \'wpse_protect_confirmation_page\' );

function wpse_protect_confirmation_page() {
    if( is_page( \'my-confirmation-page\' ) && ! isset( $_COOKIE[\'wpse_form_submitted\'] ) ) {
        wp_redirect( home_url( \'/my-form/\' ) );
        exit();
    }
}

SO网友:Dave from Gravity Wiz

这与此非常接近:

http://gravitywiz.com/submit-gravity-form-access-content/

根据您的场景和假设您的确认内容是静态的,您可以使用所需的内容设置WordPress页面。然后配置代码段,以便用户必须提交表单才能访问该内容。在随后的访问中,如果用户已经提交了内容,它只会显示内容(没有表单)。

相关推荐

使用WPForms提交表单时触发操作

我的一位客户使用WPForms插件创建前端表单。提交表单时,条目进入de数据库(在单独的表wp\\u wpform\\u entries或类似的表中,全部由插件处理)。但他们也希望以JSON格式将所有数据发布到另一个网站。是否有办法知道表单已提交,或者使用add_filter(\'wp_insert_post)?