エグウェブ.JP@オンライン/WEB講座・セミナー・WEB分析

WEB分析・ホームページ・WEBサイト作成・WordPress、Googleアナリティクス、LINEスタンプ、Photshop・illustrator、Excelの講座やオンラインセミナーを開催中!

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

time 2020/12/15

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

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

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などにログインボタンを押したときの処理の追加が必要です。

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

free(フリー素材・ふりーそざい)

プロフィール

EGUWEB

EGUWEB

【皆さまの人生に最良のファーストステップを】WEBサイトを作りたい!WEB分析を学びたいけど分からない。とりあえず色々と知りたい!皆様の悩みを解決できるように頑張ります。 [詳細]

カテゴリー