首页 > 解决方案 > 在 WooCommerce 中分离注册和登录页面

问题描述

我正在尝试在激活 WooCommerce 的情况下拆分 Wordpress 站点中的注册和登录页面。我在这个链接中找到了一些资源。

但是,这对我不起作用。我已经复制了 woocommerce/templates/my-account/form-login.php 在child-theme/woocommerce/my-account/form-login-single.php 然后我创建了一个新的child-theme/woocommerce/my-account/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' );
}

结果很简单,“我的帐户”页面什么都没有显示,既没有登录,也没有注册。即使我尝试访问 my-site.com/my-account?action=register,也没有任何反应。

似乎解决方案被打破了。我可以做些什么来分离 WooCommerce 中的登录和注册表单?

标签: phpwordpresswoocommerce

解决方案


对我有用的一件事是运行一个 jQuery 函数来获取 URL 并将其拆分为每个 ' / ' - 计算出需要更改的 URL 字符串将是第 4 个索引。(您可以使用下面的代码)

jQuery(document).ready(function($) {
    var url = window.location.href;
    url = url.split("/");
    if (url[4] == "log-in") // You can set url[] according to slash parameter wise
    {
        $("#customer_login .u-column2").remove(); //Remove Registration Div
    }
    if (url[4] == "register") {
        $("#customer_login .u-column1").remove(); // Remove Login Div
    }
    console.log(url);
});

这样做是当 url 字符串的第 4 个索引也相等时登录(或您的页面被称为),那么它将删除“注册”表单。然后当在下面的块中发生相反的情况时,如果 URL 的第 4 个索引也相等,它会删除登录表单:)

希望这对你有用。


推荐阅读