wordpressで会員制のサイトを構築しようとしています。
構築するにあたっって、wp-membersというプラグインを使用しようと考えているのですが、
1.ログイン画面など、フォームがうまく編集できない。
2.編集できたとしても、ログインボタンなど、簡単に押せてしまう。
上記2点の問題にぶち当たっています。
まずフォーム画面を編集したいです。
function my_login_form_filter( $form, $action ) { $user_info = wp_get_current_user(); if (is_user_logged_in()) { return ' <div id="wpmem_login"> <a id="pwdchange"></a> <form action="" method="POST" id="wpmem_pwdchange_form" class="form"> <input type="hidden" id="_wpmem_pwdchange_nonce" name="_wpmem_pwdchange_nonce" value="2952ee5e05"> <input type="hidden" name="_wp_http_referer" value="/form/edit/"><fieldset><legend>パスワード変更</legend> <label for="pass1">新しいパスワード</label> <div class="div_text"><input name="pass1" type="password" id="pass1" class="password" required=""></div> <label for="pass2">新しいパスワード (再入力)</label><div class="div_text"><input name="pass2" type="password" id="pass2" class="password" required=""></div> <input name="redirect_to" type="hidden" value="/form/edit/"><input name="a" type="hidden" value="pwdchange"><input name="formsubmit" type="hidden" value="1"> <div class="button_div"><input type="submit" name="Submit" value="パスワードの変更" class="buttons"></div></fieldset></form></div> '; }else{ return ' <div id="wpmem_login"> <form class="my_form" name="my_login_form" id="my_login_form" action="/mypage/" method="post"> <fieldset> <div> <label for="log">メールアドレス</label> <input class="col-12 l-mgb20" id="login_user_name" name="log" type="text" required> </div> <div class="l-mgb30"> <label for="pwd">パスワード</label> <input class="col-12 l-mgb30" id=" login_password" name="pwd" id="user_pass" type="password" required> </div> <div class="l-justifyCenter row l-mgb20"> <div class=""><input name="rememberme" type="checkbox" id="rememberme" value="forever" /> <label for="rememberme">ログイン状態を保存する</label></div> </div> <input name="redirect_to" type="hidden" value="/mypage/" /><input name="a" type="hidden" value="login" /> <div class="row l-justifyCenter l-mgb40"> <button type="submit" name="my_submit" class="my_submit_btn c-link__mainColor c-btnA-2" value="login">ログイン</button> </div> <div class="text-right"><p>はじめての方はこちら</p><a href="/form/registration/">新規会員登録<i class="fas fa-angle-right l-pdl10"> <div class="icon-circle"></div> </i></a></div> <div class="text-right"> <a href="/form/password-edit/">パスワードをお忘れの方<i class="fas fa-angle-right l-pdl10"> <div class="icon-circle"></div> </i></a></div> </fieldset></form></div> '; } } add_filter( 'wpmem_login_form', 'my_login_form_filter', 10, 2 );
このようなコードで、ログイン画面など、編集できます。と書いてあったので、試してみたのですが、
他のフォームにも反映されてしまい、うまくいきません。
フォームとして、
・ログインフォーム
・登録情報の編集
・パスワードのリセット
この3つのフォームを利用する予定です。
また、フォームを編集できたとしても、ログイン時のバリデーションなどが機能せず、
どのようなパスワードや、ユーザー名でも、ログインボタンを押せる状況になってしまいます。
ログインできませんでした。など、ボタンを押した際に、バリデーション的な表示を出力することはできるのでしょうか?
とにかくやりたいことは、
・フォームレイアウトの編集(cssでボタンなどもかえたい)
・ログイン失敗時にバリデーション的なものを起動させる
です。
近い内容でも構わないので、何かご教授いただけましたら、幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/24 00:33
2020/06/24 01:39 編集
2020/06/24 03:19
2020/06/24 04:01 編集
2020/06/24 04:55 編集
2020/06/24 05:16
2020/07/09 11:20