wp_lostpassword_url() – パスワードをリセットするためのURLを出力する関数

投稿日 :

WordPress のログイン画面で「パスワードをお忘れですか?」というリンクを見た覚えがある方はいませんか?パスワードを忘れてしまった時やリセットしたいときにアクセスすることがあると思います。

そのための URL を出力する関数が wp_lostpassword_url() です。詳しく見ていきましょう。

wp_lostpassword_url() 関数とは

ユーザーが紛失したパスワードをリセットできる URL を返します。

パラメーター

$redirestログイン時にリダイレクトするパスを設定可能

使い方

基本的には URL を取得して、それを利用する形になるでしょう。

$lost_password = esc_url( wp_lostpassword_url() );
echo '<a href="' . $lost_password . '">Lost your password?</a>';

また、処理後のリダイレクト先を指定することができます。

$lost_password = esc_url( wp_lostpassword_url( home_url() ) );
echo '<a href="' . $lost_password . '">Lost your password?</a>';

フック

lostpassword_url

apply_filters( ‘lostpassword_url’, string $lostpassword_url, string $redirect )

第一引数に $lostpassword_url、第二引数に $redirect を持ちフィルターすることができます。

以下のコードで試すことができます。ログイン画面に出力を確認することができます。

add_filter(
	'lostpassword_url',
	function ( $lostpassword_url, $redirect ) {
		echo '<hr>' . basename(__FILE__) . ' :: ' . __LINE__;
		echo( '<pre>' );
		var_dump( $lostpassword_url, $redirect );
		echo( '</pre>' );
		echo '<hr>';

		return $lostpassword_url;
	},
	10,
	2
);

まとめ

出力されたままの URL はサニタイズされていないので、適宜 esc_url() などで処理すると良いでしょう。

この関数が使われているログインフォーム関連のソースコードを読むと学びが深そうです。

コーディングや
WordPress開発のリソースが足りない!

オレインデザインでは、デザインデータからの HTML コーディングから WordPress テーマ・プラグイン開発まで幅広くウェブ制作に対応しています。

お気軽にお問い合わせください。

WordPress 6.5.x 対応版を出版しました

WordPress デフォルトテーマ Twenty Twenty-Four を使って、シンプルなブログやポートフォリオサイト、そしてコーポレートサイトを作りながら、ブロックテーマやサイトエディターの基本を理解することができます。