サイドバーにログイン画面をつくり、購読者にはログイン後ダッシュボードを表示させない 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ページ font functions.php google NEWマーク RSS single.php webツール WEBデザインツール Wordpress アーカイブ カスタム カスタムフィールド カスタムフィールドテンプレート カスタム投稿 カテゴリー カレンダー サイドバー ターム テキスト テンプレートタグ プラグイン ヘッダ ページ ポップアップ メニュー 並び替え 並べ替え 人気 便利 分岐 印刷 年別アーカイブ 投稿 投稿記事 改行 文字数 文法チェック 最新記事 月別アーカイブ 特定カテゴリー 画像