wp_login_form() – WordPressのログインフォームを表示させる関数を徹底調査

投稿日 :

インストール型 WordPress を使ったことがある人なら誰しもが目にしたことがあるであろう、あのログインフォームを出力してくれる関数 wp_login_form() を、本記事では徹底的に調査してみたいと思います。

この記事を読み進めていただくと、ただ関数を設置する使い方だけでなく、たくさん用意されているパラメーターやフックを使いこなせるようになるかもしれません。

ぜひ最後までご覧ください。

目次

wp_login_form() 関数とは

WordPress のどこでも使えるシンプルなログインフォームを出力します。ログインフォームの HTML はデフォルトで出力されます。echofalse にすることで

パラメーター

$args という配列を持っていて、その中にオプションをさまざま設定できるようになっています。

echoデフォルトは true でログインフォームを出力する。
false を設定するとフォームの HTML を返す。
redirectリダイレクト先の URL を指定できる。
フルパスの URL でないといけない。
form_idフォームの ID 属性を指定できる。デフォルトは loginform
label_usernameユーザー名またはメールアドレス フィールドのラベルを指定できる。
デフォルトは「ユーザー名またはメールアドレス」
label_passwordパスワードフィールドのラベルを指定できる。
デフォルトは「パスワード」
label_rememberリメンバーフィールドのラベルを指定できる。
デフォルトは「ログイン状態を保存する」
label_log_in送信ボタンのラベルを指定できる。デフォルトは「ログイン」
id_usernameユーザー名フィールドの ID 属性を指定できる。デフォルトは user_login
id_passwordパスワードフィールドの ID 属性を指定できる。デフォルトは user_pass
id_rememberリメンバーフィールドの ID 属性を指定できる。デフォルトは remenberme
id_submit送信ボタンの ID 属性を指定できる。デフォルトは wp_submit
rememberフォームに「ログイン状態を保存する」チェックボックスを表示するかどうか。デフォルトは true
value_usernameユーザー名フィールドのデフォルト値を指定できる。
value_remember「ログイン状態を保存する」チェックボックスをデフォルトでチェックするかどうかを指定できる。デフォルトは false

使い方

基本的な使い方は、そのまま記述することでログインフォームを好きな場所に表示することができます。

wp_login_form();

パラメーターを指定してお好きなログインフォームにカスタマイズすることもできます。

wp_login_form(
	array(
		'echo'           => true,
		'redirect'       => home_url( 'sample' ),
		'form_id'        => 'my-special-login-form',
		'label_username' => 'あなたのユーザー名',
		'label_password' => '大事な大事なパスワード',
		'label_remember' => 'ログイン情報を覚えてしまってもいいんですか?',
		'label_log_in'   => 'はいっちゃう?はいっちゃうよ?',
		'id_username'    => 'super-user-name-id',
		'id_password'    => 'super-user-pass-id',
		'id_remember'    => 'i-remember-you',
		'id_submit'      => 'my-submit-button',
		'remember'       => true,
		'value_username' => 'マット',
		'value_remember' => true,
	)
);

フック

login_form_bottom

apply_filters( ‘login_form_bottom’, string $content, array $args )

ログインフォームの下部に表示するコンテンツをフィルターします。第一引数は $content 、第二引数は $args になります。$args にはパラメータが入っています。

以下のようなコードでフォーム下にコンテンツを追加することができます。

add_filter(
	'login_form_bottom',
	function ( $content ) {
		return $content . '<p>ログインフォームの下に出力されます</p>';
	},
	10,
	1
);

login_form_defaults

apply_filters( ‘login_form_defaults’, array $defaults )

ログインフォームのデフォルト出力引数をフィルターします。引数は $defaults です。

以下のコードで内容を確認できます。

add_filter(
	'login_form_defaults',
	function ( $defaults ) {
		echo '<hr>' . basename(__FILE__) . ' :: ' . __LINE__;
		echo( '<pre>' );
		var_dump( $defaults );
		echo( '</pre>' );
		echo '<hr>';
		return $defaults;
	},
	10,
	1
);

login_form_middle

apply_filters( ‘login_form_middle’, string $content, array $args )

ログインフォームの中段(パスワードフィールドと「ログイン状態を保存する」チェックボックスの間)に表示するコンテンツをフィルターします。第一引数は $content 、第二引数は $args になります。

以下のようなコードでフォームの中段にコンテンツを追加することができます。

add_filter(
	'login_form_middle',
	function ( $content ) {
		return $content . '<p>ログインフォームの中段に出力されます</p>';
	},
	10,
	1
);

login_form_top

apply_filters( ‘login_form_top’, string $content, array $args )

ログインフォームの上部に表示するコンテンツをフィルターします。第一引数は $content 、第二引数は $args になります。

以下のようなコードでフォームの上部にコンテンツを追加することができます。

add_filter(
	'login_form_top',
	function ( $content ) {
		return $content . '<p>ログインフォームの上部に出力されます</p>';
	},
	10,
	1
);

まとめ

ご覧いただいた通り、wp_login_form() を設置するだけで簡単にログインフォームを用意することができます。また、パラメーターも豊富に用意されていて細かいところもカスタマイズができるようになっていますね。ぜひ、みなさんもパラメーターなど触って遊んでみてください。

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

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

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

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

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