如何在WooCommerce中创建单独的登录和注册页面

时间:2017-01-31 16:46:16

标签: wordpress woocommerce

我想分开woocommerce的登录和注册页面。 (有一个不同的解决方案,我不能在这里工作: Separate registration page in WooCommerce website

我复制了form-login.php并将其重命名为register.php 在register.php模板中,我删除了登录内容。

我想在wordpress中添加一个页面,并将带有SHORTCODE的register.php模板添加到该页面。我该怎么办?

然后我可以使用

添加注册链接到登录页面
<a href="<?php echo get_permalink(put the ID of the registerpage here) ?>"><?php _e( ' Register' ); ?></a>

并加载新的短代码寄存器页面。 mmmhhh ...

我需要添加到重复的login / now register.php,它可以加载到任何带有SHORTCODE的页面吗?那会很有趣。

感谢您的帮助!祝愿,Mika

2 个答案:

答案 0 :(得分:5)

更直接的方法是将原始form-login.php的内容保存为form-login-single.php,然后将文件form-login.php替换为:

<?php
if( isset($_GET['action']) == 'register' ) {
    wc_get_template( 'myaccount/form-register.php' );
} else {
    wc_get_template( 'myaccount/form-login-single.php' );
}

这样您就不需要进一步修改functions.php了,而且在使用@ Hassan-ALi&我使用的注册表格的双重渲染时,您不会遇到任何麻烦#39;方法。

答案 1 :(得分:0)

您可以创建Woocommerce表单-login.php的副本,并将其命名为form-register.php。 form-login.php位于/ woocommerce / templates / myaccount /文件夹中。

然后在form-login.php中,您可以使用此代码创建指向form-register.php的链接

<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '?action=register"> register </a>


/*// Separete Login form and registration form */
add_action('woocommerce_before_customer_login_form','load_registration_form', 2);
function load_registration_form(){
if(isset($_GET['action'])=='register'){
woocommerce_get_template( 'myaccount/form-registration.php' );
}
}