WordPress ログインとログアウト

専用のログイン、ログアウトを作成する防備録。動作としては、下記を実現する

  • タイトルには「ログイン」をサイドバーに出し、「会員専用ログイン」のリンクを押すと、カスタマイズされたログインフォームへ移動する。
  • ログインすると、ユーザの種類によって、特定の記事を表示したり、ダッシュボードを表示する。
  • ログイン中は、タイトルに「ユーザ名」を表示させ、「会員専用ログイン」の部分は「ログアウト」のリンクを変更表示させる。
  • 「ログアウト」をクリックすると、現在表示中のURLのところのままでログアウトする。(現在のページにリダイレクト)

ログインする前

ログイン
会員専用ログイン

ログインした後

ユーザ名を表示
ログアウト

実現方法

  1. カスタマイズされたログインフォームを作成するには、プラグイン「BM Custom Login」を入れる。
  2. ログインユーザによって、ログイン後のリダイレクト先を振り分けるのは、プラグイン「Peter’s Login Redirect」を入れる。
  3. 残りは、下記のコードで実現する。

<?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”]));

1件のコメント

  1. ログアウト後に、前に設定した?ページへ行ってしまい、それを変更したくて、どうすればいいか探していた所このページに行き着きました。
    当方、初心者につき上記の3で説明されていた部分がわかりませんでした。
    このコードはどこに書けばいいのでしょうか?
    また、「BM Custom Login」と「Peter’s Login Redirect」は入れましたが、このふたつのプラグインは入れるだけでいいのでしょうか?(ウィジェットで置かないといけない?)
    どうか教えて下さい。

    役立つ
    面白い

コメントを残す

役立つ
面白い

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください