我是WordPress的新手。我的问题是,
现在默认用户忘记密码重定向到website/wp-login.php?action=lostpassword&redirect_to=http%3A%2F%2website.com%2Fuser-profile
但是我有一个定制页面/password-reset/。因此,我参考了一些帖子,并在主题function.php中添加了下面的代码
add_filter( 'lostpassword_url', 'my_lostpassword_url', 10, 0 );
function my_lostpassword_url() {
return site_url('/password-reset/');
}但这不管用。因此,我在.htaccess文件中添加了重写规则,作为第一行。
RewriteRule ^wp-login.php?action=lostpassword$ website.com/password-reset/ [R=301,L]两者都不起作用。有什么解决办法吗?
发布于 2019-08-26 21:19:34
我知道你想做什么,但看起来你只是“几乎”遵循了法典提供的代码示例。
下面是它们的示例代码的注释版本,它替换了您想要的URL:
// You need the "10,2" in for WP to pass their parameters .. you can ignore them from that point forward.
// 10 = Priority. Ensures it takes precedence, replacing the default.
// 2 = Allows WP to pass two parameters.
add_filter( 'lostpassword_url', 'my_lostpassword_url', 10, 2 );
function my_lostpassword_url( $lostpassword_url, $redirect ) {
// I recommend using the WP method, although you could use your return value
$redirect = '/password-reset/';
// Your url would also work. I just like the redirector...
return site_url( '/lostpassword/?redirect_to=' . $redirect );
}希望这能有所帮助!
https://wordpress.stackexchange.com/questions/345895
复制相似问题