如何更改/重写丢失的密码url?

时间:2014-09-19 作者:Oudin

我使用iThemes Security(以前更好的WP Security)隐藏后端功能将登录url更改为/登录,但单击丢失密码链接/WP登录。php?操作=lostpassword现在生成404

手动转到/登录?动作=lostpassword工作。

我遇到了下面的代码,应该对其进行更改,但是经过一些测试后,它似乎不起作用

//*******************************************************
//Function to change to lost password url
//********************************************************
add_filter(\'site_url\',  \'wplogin_filter\', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme ){
    $old  = array( "/(wp-login\\.php)/");
    $new  = array( "signin/"); //this can be change to login or whatever or may remain there
    return preg_replace( $old, $new, $url, 1);
}
添加到。htaccess

RewriteRule ^signin$ wp-login.php
如何修改上述代码以更改丢失密码的url?

1 个回复
最合适的回答,由SO网友:Domain 整理而成

解决方案很简单,有一个过滤器可以更改丢失的密码url。尝试以下操作:

add_filter( \'lostpassword_url\',  \'wdm_lostpassword_url\', 10, 0 );
function wdm_lostpassword_url() {
    return site_url(\'/signin?action=lostpassword\');
}

结束

相关推荐

当返回值为空时,Apply_Filters为什么要返回非空字符串?

因为这个把我的键盘弄坏了。进行了正确的安装,将数据库上载到新的MySQL,并一直在正确使用子主题。但有件事困扰着我,我想不出来。在我的新安装上(ver2.whowhatwhy.com) 我故意将一些小部件留空。我想,当阅读default-widgets.php wp中的文件包括在该小部件上不会显示标题元素。相反,显示标题小部件是因为,出于某种原因,传递的值apply_filters 是一个空格,而不是空白值$instance[\'title\'] 为空。$title = apply_filters( \'