wp_login_url() – WordPressにログインするためのURLを出力する関数

投稿日 :

WordPress からログアウトする URL を出力する関数 wp_logout_url() の記事をこちらに書きましたが、今回はそのログイン版とも言えるであろう、ログイン URL を出力する関数 wp_login_url() を調べていきます。

wp_login_url() 関数とは

ログイン URL を取得します。wp_logout_url() にとても似ていますね。しかし、返り値は HTML エンコードされていないことに注意が必要です。

パラメーター

$redirectログインした際のリダイレクト先へのパスを設定できます。しかし、 https://sample.com/mypage/ のような絶対値でなければなりません。
$force_reauthクッキーが存在する場合でも、再認証するかどうかを設定できます

使い方

基本的にはこのような形で使うことが多いでしょう。

echo '<a href="' . wp_login_url() . "\">ログイン</a>";

ログインしているユーザーに表示しても意味がないので、wp_logout_url() の時と似た形で分岐すると良いでしょう。

if ( ! is_user_logged_in() ) {
	echo '<a href="' . wp_login_url() . "\">ログイン</a>";
}

第一引数に URL を指定することで、ログインした後のリダイレクト先を指定することができます。

if ( ! is_user_logged_in() ) {
	echo '<a href="' . wp_login_url( home_url( '/sample/')) . "\">ログイン</a>";
}

第二引数では、ブラウザでクッキーがログイン情報を記憶していても再認証するかどうかを指定することができます。再認証させるためには true を指定します。デフォルトは false です。

if ( ! is_user_logged_in() ) {
	echo '<a href="' . wp_login_url( home_url( '/sample/' ), true ) . "\">ログイン</a>";
}

フック

login_url

apply_filters( ‘login_url’, string $login_url, string $redirect, bool $force_reauth )

ログイン URL にフィルターすることができます。

第一引数には $login_url で URL を取得できます。第二引数では $redirect でリダイレクト先を取得できます。第三引数には $force_reauth でクッキーが存在していたも再認証するかどうかの設定を取得できます。

以下のソースコードで動作を確認できます。遊んでみてください。

add_filter(
	'login_url',
	function ( $login_url, $redirect, $force_reauth ) {
		echo '<hr>' . basename(__FILE__) . ' :: ' . __LINE__;
		echo( '<pre>' );
		var_dump( $login_url, $redirect, $force_reauth );
		echo( '</pre>' );
		echo '<hr>';
	},
	10,
	3
);

まとめ

多くのユーザーが参加するウェブサイトを WordPress で構築する際には、必ずと言っていいほどログインやログアウトへのアクセス方法を管理したくなります。

その際に、wp_login_url() や wp_logout_url() の挙動を知っておくだけで、スムーズな設計をすることができます。また、特徴やフックも触っておくことで、動的な管理をする際にも役立つでしょう。

ぜひ色々と遊んでみてください。

出版書籍一覧

WordPress 7.0.x 対応
いちばんわかりやすいWordPressの本

WordPress 6.9.x 対応
いちばんわかりやすいWordPressの本

WordPress 6.7.x 対応
Twenty Twenty-Fourでウェブサイトを作ろう

WordPress 6.4.x 対応 Twenty Twenty-Four でウェブサイトを作ろう

WordPress 6.4.x 対応
Twenty Twenty-Fourでウェブサイトを作ろう

Udemy 新着・人気 講座

いちばんやさしいWordPress入門講座
【ゼロから学べる基礎】

以下のリンクから常に最安値で購入できるものを選んでお求めいただけます。

Udemy 新規 講座

いちばんやさしい Snow Monkey 講座 – 基礎編 –

以下のリンクから常に最安値で購入できるものを選んでお求めいただけます。

Udemy 新規 講座

いちばんやさしい Snow Monkey 講座 – 応用編 –

以下のリンクから常に最安値で購入できるものを選んでお求めいただけます。

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

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

ご相談は無料です。お気軽にお問い合わせください。