【发布时间】:2015-03-06 22:16:31
【问题描述】:
我有一个使用 Gravity Forms 创建的多阶段表单。成功完成后,我设置了重定向,以便将用户发送到 WooCommerce 产品页面。我希望这是访问该页面的唯一方式,因为他们需要完成表格才能被允许购买产品。他们不必在网站上注册,因此不能使用会员角色。
有人知道我该怎么做吗?
非常感谢任何帮助。
【问题讨论】:
标签: php forms wordpress gravity-forms-plugin
我有一个使用 Gravity Forms 创建的多阶段表单。成功完成后,我设置了重定向,以便将用户发送到 WooCommerce 产品页面。我希望这是访问该页面的唯一方式,因为他们需要完成表格才能被允许购买产品。他们不必在网站上注册,因此不能使用会员角色。
有人知道我该怎么做吗?
非常感谢任何帮助。
【问题讨论】:
标签: php forms wordpress gravity-forms-plugin
有几种方法可以做到这一点。一种简单(但非常笨拙)的方法是对产品页面进行密码保护,然后通过表单的确认消息向用户提供密码。这是一种不太理想的用户体验...
另一种解决方案是在提交表单时设置 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;
}
用漂亮的蝴蝶结包裹起来
如果您不想接触任何代码,我已将其打包成一个更强大的插件。您可以在此处阅读更多信息:
【讨论】: