初めて投稿させて頂きます。よろしくお願いします。
wordpressで会員制のページを作成しています。
プラグインはcontact form 7,wp-members,user role editorを使用しています。
現在固定ページをトップページとして、ログインフォームを作成しており、ログイン後は権限をルール化し、各ページにジャンプさせています。
その際、わざとパスワードを間違ってログインボタンを押すと投稿ページにジャンプします。この時投稿ページは一切使わないので記事自体がなく、「見つかりませんでした」と言う画面と検索が出てきてしまいます。
本来であれば「パスワードが違います。再度お試しください」というwp-membersで設定したダイアログが表示され同じログイン画面になるはずなのですが、表示されません。
ログイン画面自体はショートコードで記述しており、細かな動きはfunction.phpで記述しています。
以前こちら(https://teratail.com/questions/112379)の投稿を拝見し、下のコードを試してみました。
function un_logged_in_user_redirect() { if( ! is_user_logged_in() && is_single() || is_archive() || is_singular( 'カスタム投稿' ) ) { wp_redirect( '/login' );// ログインページのURL exit(); } } add_action( 'template_redirect', 'un_logged_in_user_redirect' );
実際に入力してみましたが、変化がありませんでした。
そこで、is_lingle()が投稿ページなので、is_pageに変更してやってみましたが、ロードが長くなりページが開けませんとなり、悩んでおります。
入力した内容は以下のようになります。
function un_logged_in_user_redirect() { if( ! is_user_logged_in() && is_page() || is_single() ) { wp_redirect( 'https://www.example.jp/' );// ログインページのURL exit(); } } add_action( 'template_redirect', 'un_logged_in_user_redirect' );
なにぶん不得手なもので調べながらやっているのですが、理解が出来ないためご質問させて頂きました。
「パスワードが違います。再度お試しください」というwp-membersで設定したダイアログが表示され同じログイン画面を表示させるにはどのように書けばよろしいでしょうか?
何か方法がございましたらご教授願います。
wp-members ver.3.2.2.1
回答1件
あなたの回答
tips
プレビュー