我有一个用Gravity Forms创建的多阶段表单。成功完成后,我设置了一个重定向,以便将用户发送到WooCommerce产品页面。我希望这是访问该页面的唯一方式,因为他们需要在允许购买产品之前完成表单。他们不必在网站上注册,因此不能使用会员角色。
有谁知道我该怎么做?
非常感谢任何帮助。
答案 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;
}
全部用漂亮的蝴蝶结包裹
如果您不想触摸任何代码,我已将其打包成更强大的插件。你可以在这里阅读更多相关信息: