以下のコードで私のコメントを調べてください。
//なぜこれができないのですか?
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-functionsを取得できると思いますが、使い方がわかりませんか? (そうでなければ、同じことを実現するための機能を実行することもできますが、WordPressコアがこの機能をサポートしているように見える場合は不要です。)
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によって提供されるもののようなフォームを持つページを生成しません。それはあなた次第です。
これが物事を今もっと明確にすることを願っています:)