専用のログイン、ログアウトを作成する防備録。動作としては、下記を実現する
- タイトルには「ログイン」をサイドバーに出し、「会員専用ログイン」のリンクを押すと、カスタマイズされたログインフォームへ移動する。
- ログインすると、ユーザの種類によって、特定の記事を表示したり、ダッシュボードを表示する。
- ログイン中は、タイトルに「ユーザ名」を表示させ、「会員専用ログイン」の部分は「ログアウト」のリンクを変更表示させる。
- 「ログアウト」をクリックすると、現在表示中のURLのところのままでログアウトする。(現在のページにリダイレクト)
ログインする前
ログイン |
会員専用ログイン |
ログインした後
ユーザ名を表示 |
ログアウト |
実現方法
- カスタマイズされたログインフォームを作成するには、プラグイン「BM Custom Login」を入れる。
- ログインユーザによって、ログイン後のリダイレクト先を振り分けるのは、プラグイン「Peter’s Login Redirect」を入れる。
- 残りは、下記のコードで実現する。
<?php
global $user_identity; //インクルードされたphpファイルでは必要な場合もあり。
if(is_user_logged_in()) {
?>
<h2><?php echo $user_identity; ?></h2>
<a href=”<?php echo wp_logout_url(site_url($_SERVER[“REQUEST_URI”])); ?>”>ログアウト</a>
<?php
} else { ?>
<h2>ログイン</h2>
<a href=”<?php bloginfo(‘url’); ?>/wp-admin/”>会員専用ログイン</a>
<?php
} ?>
※ログアウトする際に、現在のページにリダイレクトさせるのが、以外に難しかったかも。
NG ・・・ wp_logout_url(site_url($_SERVER[“HTTP_HOST”]. $_SERVER[“REQUEST_URI”]));
OK ・・・ wp_logout_url(site_url($_SERVER[“REQUEST_URI”]));
ログアウト後に、前に設定した?ページへ行ってしまい、それを変更したくて、どうすればいいか探していた所このページに行き着きました。
当方、初心者につき上記の3で説明されていた部分がわかりませんでした。
このコードはどこに書けばいいのでしょうか?
また、「BM Custom Login」と「Peter’s Login Redirect」は入れましたが、このふたつのプラグインは入れるだけでいいのでしょうか?(ウィジェットで置かないといけない?)
どうか教えて下さい。