スキルアップを始める!

【WordPress】ワードプレスのサイト上にログイン機能を設定する方法|wp signon

WordPress(ワードプレス)
WordPress(ワードプレス)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

ワードプレスへのログイン方法

通常、ワードプレスにログインするときは

yourdomain.com/wp-login.php

yourdomain.com/wp-admin

あたりのパーマリンクでログインページに移動しますが、「一般ユーザーが見ているWEBサイト上に、よくあるログイン画面のような機能を作りたい」と思ったときに設定する方法です。

※セキュリティや運用上で様々な問題が多発する可能性がありますので、実装にはくれぐれも、くれぐれも注意しましょう。

wp signon

関数リファレンス/wp signon

オプションとして渡される認証情報でユーザーを認証します。

<?php wp_signon( $credentials, $secure_cookie ) ?>

$credentials
(配列) (オプション) サインインするためのユーザ情報
初期値: なし
$secure_cookie
(真偽値) (オプション) セキュアな Cookie を使用するかどうか。
初期値: なし
参考: $credentials を省略すると、wp_signon() は変数 $_POST を利用します

この関数はヘッダーを送信します。そのためコンテンツが返されるより前に起動しなければなりません。
この関数は認証用クッキーをセットします。送信しない場合、ユーザーはログインしません。

参考にさせていただきました。ありがとうございます。
WordPressにログインフォームを独自に実装する

<form action="<?php the_permalink(); ?>" method="post">
<?php wp_nonce_field( 'login', 'login_nonce' ) ?>
<?php if ( ! empty( $error ) ): ?><p><?php echo $error; ?></p><?php endif; ?>
<dl>
<dt>メールアドレス</dt>
<dd><input type="email" name="user_email" value="<?php echo $email; ?>" /></dd>
<dt>パスワード</dt>
<dd><input type="password" name="user_pass" /></dd>
</dl>
<button type="submit">ログイン</button>
</form>

最初にwp nonce fieldでnouceの処理、empty関数を使って「入力が空白の場合にはエラー」が表示されるようになっています。

関数リファレンス/wp nonce field

入力値のバリデーション

完成

表面上の画面はできましたが、・・・このままログインボタンを押しても何も起こりません。押したときの処理が何も無いためです。

ということで、functions.phpなどにログインボタンを押したときの処理の追加が必要です。

長くなりそうでしたので、続きはまた。

URLをコピーしました!