---
title: "wp_login_form() &#8211; WordPressのログインフォームを表示させる関数を徹底調査"
canonical_url: "https://olein-design.com/blog/wp_login_form"
language: "ja"
date_published: "2024-05-08T10:00:00+09:00"
date_modified: "2024-05-10T14:10:07+09:00"
content_type: "post"
author: "久野晃司"
taxonomies:
  category:
    - "WordPress"
  post_tag:
    - "General Template Tag"
    - "WordPress functions"
---

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

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

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

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

目次

## wp_login_form() 関数とは

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

## パラメーター

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

| `echo` | デフォルトは `true` でログインフォームを出力する。<br>`false` を設定するとフォームの HTML を返す。 |
| --- | --- |
| `redirect` | リダイレクト先の URL を指定できる。<br>フルパスの URL でないといけない。 |
| `form_id` | フォームの ID 属性を指定できる。デフォルトは `loginform` |
| `label_username` | ユーザー名またはメールアドレス フィールドのラベルを指定できる。<br>デフォルトは「ユーザー名またはメールアドレス」 |
| `label_password` | パスワードフィールドのラベルを指定できる。<br>デフォルトは「パスワード」 |
| `label_remember` | リメンバーフィールドのラベルを指定できる。<br>デフォルトは「ログイン状態を保存する」 |
| `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()` を設置するだけで簡単にログインフォームを用意することができます。また、パラメーターも豊富に用意されていて細かいところもカスタマイズができるようになっていますね。ぜひ、みなさんもパラメーターなど触って遊んでみてください。

[埋め込みコンテンツ](https://developer.wordpress.org/reference/functions/wp_login_form)
