サイドバーにログイン画面をつくり、購読者にはログイン後ダッシュボードを表示させない 2015年4月10日
Tag: | |


サイドバーにログイン画面をつくり、購読者にはログイン後ダッシュボードを表示させない方法です。

今回特定のカテゴリーだけIDとPSを教えた会員しか見れない様にしたかったので、まず、Allow Categoriesと言うプラグインを入れました。
このプラグインでサイドバーに表示された特定カテゴリーをクリックするとログイン画面に誘導します。
ただこのままだと、購読者がダッシュボードに入れてプロフィールから勝手にパスワードを変更されてしまう恐れがあったので、まずログイン後ダッシュボードを非表示にしました。
プラス、ヘッダに表示されるツールバーからもダッシュボードに入れてしまうので、ツールバーも非表示にします。

1.Allow Categories

プラグインをインストール後、ダッシュボードのツールにAllow Categoriesが表示されるので、クリック。
購読者の欄で、ログインを必要とするカテゴリーにチェックを入れる。
指定カテゴリーを開いた時に、ログインを促す場合は、「 Pages are public (or logged in if force login)」「Redirect to login if not permissioned 」にチェックを入れてください。

all01

2.購読者がログイン後にダッシュボードを見れなくするにはfunctions.phpに下記を追加

// ログイン後ダッシュボードを非表示
add_action( 'auth_redirect', 'subscriber_go_to_home' );
function subscriber_go_to_home( $user_id ) {
	$user = get_userdata( $user_id );
	if ( !$user->has_cap( 'edit_posts' ) ) {
		wp_redirect( get_home_url() );
		exit();
	}
}

3.ログイン後ヘッダに表示されるツールバーからもダッシュボードに入れてしまうので、これも非表示にする

ダッシュボード – ユーザー ユーザーの編集画面で「サイトを見るときにツールバーを表示する」のチェックをはずす。

4.ダッシュボードもツールバーも表示されなくなると、今度はログアウトができなくなってしまうので、サイドバーにログイン画面をつける

<ul>
<li><h2>ログイン</h2>
<?php if (is_user_logged_in()) : ?>
	Welcome! <?php global $current_user; echo $current_user->display_name ?>さん<br />
	ログアウトは &raquo; <a href="<?php echo wp_logout_url() ?>&amp;redirect_to=<?php echo esc_attr($_SERVER['REQUEST_URI']) ?>">こちら</a>
<?php else : ?>
	<form method="post" action="<?php echo wp_login_url() ?>?redirect_to=<?php echo esc_attr($_SERVER['REQUEST_URI']) ?>">
		<p><label for="login_username">ユーザー名:</label><br />
		<input type="text" name="log" id="login_username" value="" /></p>
		<p><label for="login_password">パスワード:</label><br />
		<input type="password" name="pwd" id="login_password" value="" /></p>
		<p><input type="submit" value="ログイン" /></p>
	</form>
<?php endif; ?>
</li>
</ul>

5.ログアウト後に指定されたURLへリダイレクトされるようにする。

functions.phpに下記を追加

// ログアウト後リダイレクト
function redirect_fix(){
	wp_safe_redirect("http://msweb.moo.jp/"); //表示させたいURLを記入
	exit();
}
add_action('wp_logout','redirect_fix');

関連記事

New

Aechive

Tag

css Facebook facebookカスタマイズ Facebookページ facebooRSS font functions.php google NEWマーク photoshop RSS SEO single.php webツール WEBデザインツール Wordpress アイコン アーカイブ エディタ カスタム カスタムタクソノミー カスタムフィールド カスタムフィールドテンプレート カスタム投稿 カテゴリー カレンダー クリップアート サイドバー ターム テキスト テンプレートタグ パターン ブラシ プラグイン ヘッダ ページ 人気 便利 分岐 文法チェック 月別アーカイブ 特定カテゴリー 画像 記事