我不明白为什么要使用Lost Password_url钩子?

时间:2016-01-13 作者:bestprogrammerintheworld

查看下面代码中的我的评论:

//为什么我不能这么做?

class Customuser {

    public function __construct() {

        // Using this when using lost password functionality
        add_filter("lostpassword_url", array( $this, \'lostyourpasswordpage\') );

        $html .= \'<a href="\' . wp_lostpassword_url( get_bloginfo(\'url\') ) . \'">Forgot?</a>\';
        echo $html;

        // WHY can I not just do this?
        $html .= \'<a href="/forgotmypassword">Forgot?</a>\';
        echo $html;            

    }

    public function lostyourpasswordpage() {
        return \'/forgotmypassword\';
    }

}
谁能解释一下吗?

我想我可以在使用钩子时获得一些getyourpassword功能,但我不知道如何使用它?(否则,我可以使用函数来实现相同的功能,但当WordPress内核似乎支持此功能时,这似乎是不必要的。)

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

想想wp_lostpassword_url() 作为指向包含表单的页面的链接的占位符,允许用户重置密码。

您可以在WordPress站点中的任何位置使用此占位符,如果您决定提供自己的表单以允许用户重置密码,您可以通过过滤器轻松更新链接:

class Customuser {

    public function __construct() {
        add_filter( \'lostpassword_url\', array( $this, \'lostyourpasswordpage\' ), 10, 2 );
    }

    public function lostyourpasswordpage( $lostpassword_url, $redirect ) {
        return home_url( \'/forgotmypassword/\' );
    }

}
通过以下方式呼叫您的班级new Customuser(); 然后将更改wp_lostpassword_url() 默认值的所有位置/wp-login.php?action=lostpassword/forgotmypassword. 因此,无需到处搜索/替换/更新链接。

然而,它不会生成具有WordPress提供的表单的页面。这取决于你自己。

希望这能让事情变得更清楚:)

相关推荐

I can't recover my password

你能解释一下下面这行代码是什么意思吗?if ( isset( $_COOKIE[ $rp_cookie ] ) && 0 < strpos( $_COOKIE[ $rp_cookie ], \':\' ) ) { 这是因为我发现这就是我的代码发现故障的地方,并且无法正确设置密码。UPDATE:电子邮件发送到页面后,下面的选择将置为False,然后以$user=False;?结束,这是正常的?if(isset($\\u COOKIE[$rp\\u COOKIE])&&a