我刚刚更新到Woocommerce的版本2.2.7(使用WP 4.0),我在重置密码时遇到了麻烦。使用测试客户帐户,我使用“丢失密码”链接,一旦我输入了我的地址,我就收到了电子邮件。唯一的问题是电子邮件中的链接只是把我带到登录页面,并没有重置密码。有人有这个问题吗?
j0pj023g1#
我发现了问题-我发现这是因为mytheme/woocommerce/emails中的文件过期了。Woocommerce系统状态显示它们是最新的,但是当我从最新的Woocommerce升级中复制模板文件来覆盖我的时,它解决了这个问题(Github也显示了一些编辑,证实了这一点)。
lnlaulya2#
为了不浪费时间,我在function.php文件中使用了这段代码来解决这个问题。
add_filter( 'lostpassword_url', 'wdm_lostpassword_url', 10, 0 ); function wdm_lostpassword_url() { return site_url('/wp-login.php?action=lostpassword'); }
lvmkulzt3#
如果你的主机缓存了http://example.com/my-account/lost-password/页面,你也可以进入一个重置密码循环(点击电子邮件中的重置链接会把你带到要求你再次输入你的电子邮件/用户名的表单,而不是显示密码重置表单)。我在WPEngine上的一个客户端站点上解决了这个问题,方法是请求支持将这个URL添加该高速缓存排除列表中,问题立即消失了。编辑:一个更好的解释是在这里https://wordpress.org/support/topic/woocommerce-password-reset-issue-resolved/--注意支持代理说“我对^/my-account路径沿着的所有内容都做了Varnish排除”。
sigwle7e4#
今天发生在我身上,原来这是一个主题冲突,我不得不使用这个URL:http://example.com/?login=example.com&action=lost_password而不是woocommerce的默认值:http://example.com/my-account/lost-password/这个问题帮助了:https://themeforest.net/item/clever-course-learning-management-system-theme/8645312/comments?page=22&filter=all#comment_10485207这显然对你没有帮助,OP,因为你解决了自己的问题,但我希望它能帮助其他人,因为我通过谷歌搜索发现了这个问题:)
gwbalxhn5#
我们的密码重置现在遇到了格式不正确的URL。https://mo.../my-account/lost-password/?key=IMrwE2FnskfDp9pBPpkn&id=316请注意&如果我们在URL中手动将其交换为和符号(&),则表单将正确加载。我们现在正在挖掘Github中的提交,看看这是什么时候被打破的。
aurhwmvo6#
问题出在函数wc_get_endpoint_url()上。你可以通过下面的代码来修复它。只要把它放在你的functions.php的child-theme。
add_filter( 'woocommerce_get_endpoint_url', 'sh_fix_lost_password_endpoint', 9999, 4); function sh_fix_lost_password_endpoint( $url, $endpoint, $value, $permalink ) { if ( $endpoint == get_option( 'woocommerce_myaccount_lost_password_endpoint' ) ) { return $url . $endpoint; } else { return $url; } }
6条答案
按热度按时间j0pj023g1#
我发现了问题-
我发现这是因为mytheme/woocommerce/emails中的文件过期了。
Woocommerce系统状态显示它们是最新的,但是当我从最新的Woocommerce升级中复制模板文件来覆盖我的时,它解决了这个问题(Github也显示了一些编辑,证实了这一点)。
lnlaulya2#
为了不浪费时间,我在function.php文件中使用了这段代码来解决这个问题。
lvmkulzt3#
如果你的主机缓存了http://example.com/my-account/lost-password/页面,你也可以进入一个重置密码循环(点击电子邮件中的重置链接会把你带到要求你再次输入你的电子邮件/用户名的表单,而不是显示密码重置表单)。我在WPEngine上的一个客户端站点上解决了这个问题,方法是请求支持将这个URL添加该高速缓存排除列表中,问题立即消失了。
编辑:一个更好的解释是在这里https://wordpress.org/support/topic/woocommerce-password-reset-issue-resolved/--注意支持代理说“我对^/my-account路径沿着的所有内容都做了Varnish排除”。
sigwle7e4#
今天发生在我身上,原来这是一个主题冲突,我不得不使用这个URL:
http://example.com/?login=example.com&action=lost_password
而不是woocommerce的默认值:
http://example.com/my-account/lost-password/
这个问题帮助了:
https://themeforest.net/item/clever-course-learning-management-system-theme/8645312/comments?page=22&filter=all#comment_10485207
这显然对你没有帮助,OP,因为你解决了自己的问题,但我希望它能帮助其他人,因为我通过谷歌搜索发现了这个问题:)
gwbalxhn5#
我们的密码重置现在遇到了格式不正确的URL。
https://mo.../my-account/lost-password/?key=IMrwE2FnskfDp9pBPpkn&id=316
请注意&如果我们在URL中手动将其交换为和符号(&),则表单将正确加载。
我们现在正在挖掘Github中的提交,看看这是什么时候被打破的。
aurhwmvo6#
问题出在函数wc_get_endpoint_url()上。你可以通过下面的代码来修复它。只要把它放在你的functions.php的child-theme。