我有一个在线学校网站,其中包含现有的注册页面,我需要使用该页面来获取用户的特定数据(请参阅此处:http://www.inventivewebdesign.com/nvtss/register/)。
问题是购买课程时用户是通过WooCommerce发送的。作为该过程的一部分,系统会提示用户使用WooCommerce的注册页面进行注册:http://www.inventivewebdesign.com/nvtss/checkout/(您可能需要在购物车中添加一些内容才能看到它:您可以add this)
问题似乎是我们打印的证书必须有来自第一个注册页面的数据。
有没有办法迫使WooCommerce从那里使用注册表单或者首先访问该页面?
我正在使用Gravity Forms Pro将这些项目添加到第一页的用户注册中。
答案 0 :(得分:0)
是的,这完全可以使用自定义钩子函数。
如果未登记的客户将在结帐页面(刚进入购物车处理后)到达,他将被重定向到您的特定注册页面。
以下是代码:
add_action( 'woocommerce_before_checkout_form', 'redirect_customer_login_access');
function redirect_customer_login_access() {
// Here the conditions (woocommerce my account pages and unlogged user)
if( is_checkout() && !is_user_logged_in()){
// Define HERE your custom login form
$custom_login_url = site_url('/nvtss/register/');
// if nvtss is the root of your wordpress web site, the url is going to be:
// $custom_login_url = site_url('/register/');
// Redirecting to your custom login area
wp_redirect( $custom_login_url );
// always use exit after wp_redirect() function.
exit;
}
}
代码进入活动子主题(活动主题或任何插件文件)的function.php文件中。
此代码经过测试且有效。