通过首先重定向到现有的说明页面来拦截“丢失密码”操作

时间:2016-09-28 作者:marikamitsos

我们遇到的情况是,用户(孩子)在尝试登录时没有忘记密码,而是犯了一些小错误
根据问题,应首先将其重定向到第页,例如id=5,并提供如下说明:

请返回并:
激活您的cookies
检查您的键盘上是否有正确的语言
请您的母亲让您登录

如果以上都不起作用,请单击此处(http://oursite.com/wp-login.php?action=lostpassword) 请求新密码

因此,登录页面上的lostpassword链接应重定向到现有页面,其中包含自定义消息/说明and then, 页面上指向实际丢失密码链接的链接。

PS:我相信最近推出的lostpassword_post 钩子可能有用

2 个回复
最合适的回答,由SO网友:Ahmed Fouad 整理而成

这很简单。

钩住init以检测丢失的密码页

如果用户不是来自您的说明页面(我们通过添加额外的查询参数来定义),他将被重定向到您的自定义页面

在自定义页面中,添加到丢失密码页面的链接,包括我们设置的用于跳过重定向的额外参数。

add_action( \'init\', \'lostpassword_instructions\' );

function lostpassword_instructions() {


    global $pagenow;

    if ( $pagenow == \'wp-login.php\' && 
        isset( $_REQUEST[ \'action\' ] ) && 
        $_REQUEST[ \'action\' ] == \'lostpassword\' && 
        ! isset( $_REQUEST[ \'skip\' ] )
    ) {

        exit( wp_redirect( \'http://domain.com/lost-password-instructions\' ) );

    }

}
现在在您的自定义页面上,类似的操作应该可以:

$url = \'http://domain.com/wp-login.php?action=lostpassword&skip=true\';

SO网友:mmm

行动login_form_lostpassword 在丢失密码页之前调用。尝试以下操作:

add_action("login_form_lostpassword", function () {

    echo "on the lostpassword page";
    exit();

});
而不是echo, 重定向到“说明”页面

相关推荐

WP_ENQUEUE_STYLE-css未加载-ERR_TOO_MANY_REDIRECTS

更改为后。在public\\u html中使用htaccess尝试HTTP->;我的网站的HTTPS重定向CSS开始失败。恢复文件没有帮助,所以我选择按forward来更改的所有实例http://domain->;https://domain在线使用推荐的方法。然而,我的CSS仍然没有加载。。。(已尝试清除本地和wordpress缓存)。通过浏览器检查开发人员,我发现以下错误:告诉我CSS文件没有被加载。检查这些表明CSS文件没有被带到本地计算机,复制链接我无法检索文件。。。但是,如果我删除?ve