Php 更改“文件”的URL;重置密码";吴哥商业

Php 更改“文件”的URL;重置密码";吴哥商业,php,wordpress,woocommerce,e-commerce,Php,Wordpress,Woocommerce,E Commerce,我在我的网站上使用WooCommerce,我创建了一个自定义登录和注册页面。新用户不会看到标准的my accountlogin页面,而是被带到自定义登录页面。如果用户单击该链接,则会链接到自定义注册页面 这两页都很好用。创建“丢失密码”部分时会出现问题。最初,用户将被带到my account/lost password,但由于我想构建自定义页面,我需要创建一个新的lost password页面 我已使这一页正常运行。用户输入用户名或密码并单击按钮后,将向他们发送一封电子邮件,其中包含一个url链

我在我的网站上使用WooCommerce,我创建了一个自定义登录和注册页面。新用户不会看到标准的
my account
login页面,而是被带到自定义登录页面。如果用户单击该链接,则会链接到自定义注册页面

这两页都很好用。创建“丢失密码”部分时会出现问题。最初,用户将被带到
my account/lost password
,但由于我想构建自定义页面,我需要创建一个新的lost password页面

我已使这一页正常运行。用户输入用户名或密码并单击按钮后,将向他们发送一封电子邮件,其中包含一个url链接,他们需要单击该链接才能转到允许他们重置密码的页面。这就是我遇到问题的地方

最初,用户将被带到
我的帐户
页面,但由于我避免了这一点,我希望用户必须使用我自己的自定义页面

电子邮件中指定用户需要访问的url的代码如下:

<a class="link" href="<?php echo esc_url( add_query_arg( array( 'key' => $reset_key, 'login' => rawurlencode( $user_login ) ), wc_get_endpoint_url( 'lost-password', '', wc_get_page_permalink( 'myaccount' ) ) ) ); ?>"><?php _e( 'Click here to reset your password', 'woocommerce' ); ?></a>
我的表单上有一些隐藏的输入,它们的值为
$reset\u key
$user\u login
,但是,在使用以下命令时:

<a class="link" href="<?php echo esc_url( add_query_arg( array( 'key' => $reset_key, 'login' => rawurlencode( $user_login ) ), wc_get_endpoint_url( 'lost-password', '', wc_get_page_permalink( 'myaccount' ) ) ) ); ?>">
<a class="link" href="<?php echo esc_url( add_query_arg( array( 'key' => $reset_key, 'login' => rawurlencode( $user_login ) ), wc_get_endpoint_url( 'lost-password', '', wc_get_page_permalink( 'myaccount' ) ) ) ); ?>"><?php _e( 'Click here to reset your password', 'woocommerce' ); ?></a>

这些隐藏的输入没有值


有没有办法将这些参数传递到我的自定义表单,允许填充隐藏的输入并更新用户的密码?

将忘记的密码URL从WooCommerce重置为WordPress。由于您必须登录才能查看该网站,忘记的密码无法访问WooCommerce页面。将其添加到functions.php会将密码url重置为WordPress url

//Wordpress+WooCommerce重置密码URL

function reset_pass_url() { $siteURL = get_option('siteurl'); return "{$siteURL}/wp-login.php?action=lostpassword"; } add_filter( 'lostpassword_url', 'reset_pass_url', 11, 0 );

您可以使用Jquery来完成此操作。:)


你到底为什么要用jQuery来做这个??
function reset_pass_url() { $siteURL = get_option('siteurl'); return "{$siteURL}/wp-login.php?action=lostpassword"; } add_filter( 'lostpassword_url', 'reset_pass_url', 11, 0 );
function changeReseturl(){

jQuery(".woocommerce-LostPassword.lost_password a").attr('href','your-login-url');

}

add_action('wp_footer','changeReseturl');