お問い合わせ

    氏名

    メールアドレス

    件名

    メッセージ本文



    763万 キーワード

    2021年 検索パフォーマンス

    57.8万 人が訪問

    2021年 訪問ユーザー数

    WordPressのスキルアップはこちら!▶[click]
    いま、どうしてる? 誰でも検索できます

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

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

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

    Loading
    タイトルとURLをコピーしました