仅通过Gravity表单提交访问页面

时间:2015-01-08 17:38:57

标签: php wordpress forms wordpress-plugin gravity-forms-plugin

我有一个用Gravity Forms创建的多阶段表单。成功完成后,我设置了一个重定向,以便将用户发送到WooCommerce产品页面。我希望这是访问该页面的唯一方式,因为他们需要在允许购买产品之前完成表单。他们不必在网站上注册,因此不能使用会员角色。

有谁知道我该怎么做?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

有几种方法可以实现这一目标。一种简单(但非常笨重)的方法是密码保护产品页面,然后通过表单的确认消息向用户提供密码。这是一种不太理想的用户体验...

另一种解决方案是在提交表单时设置cookie。在“产品”页面上,您可以通过WordPress'设置过滤器。 " the_content"钩子显示/隐藏页面的内容,具体取决于是否设置了cookie。我有an awesome Gravity Forms plugin,但这里有基础知识:

在表单提交上设置Cookie

add_action( 'gform_pre_submission', 'set_form_submitted_cookie' );
function set_form_submitted_cookie( $form ) {
    setcookie( 'gf_form_submitted', $form['id'], null, '/' );
}

检查Cookie是否存在

add_filter( 'the_content', 'maybe_hide_the_content' );
function maybe_hide_the_content( $content ) {

    if( ! isset( $_COOKIE['gf_form_submitted'] ) ) {
        $content = 'You do not have access to this page.'
    }

    return $content;
}

全部用漂亮的蝴蝶结包裹

如果您不想触摸任何代码,我已将其打包成更强大的插件。你可以在这里阅读更多相关信息:

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