WordPress
WordPress 会員制サイトにし、ログイン後もフォローする
WordPressを会員制サイトにし、しかもそのあと使いやすいものにする方法を一連の流れで教えちゃいます!
会員制サイトにする、ということは、つまりログインを必要にする、ということです。
これはプログラムの変更が必要です。
1.
themes/functions.phpに次の関数と、add_actionを加えます。
function require_login() {
if ( ! isset($Ktai_Style) || ! $Ktai_Style->is_ktai() || @$_COOKIE[KTAI_COOKIE_PCVIEW] ) {
if ( ! is_user_logged_in() && ! preg_match( '/^(wp-login\.php|async-upload\.php)/',
basename( $_SERVER[‘REQUEST_URI’] ) ) && ! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) && ! ( defined( ‘DOING_CRON’ ) && DOING_CRON ) ) {
auth_redirect();
}
}
}
add_action( 'init', 'require_login' );
すると、WordPressにアクセスすると、必ずログインが必要になります。
2.
ここで困ったことが起こります。
ログインすると、デフォルトでは管理画面へ行ってしまうのです。
管理者はそれでいいんですが、購読者とかは、管理画面へ行っても仕方ないので、購読者にはすぐにサイトに行ってほしいですよね。
そのために、Peter’s Login Redirect というプラグインがあります。
http://wordpress.org/plugins/peters-login-redirect/
導入すると、ダッシュボードの設定に、Login/logout redirectsという項目が増えます。
クリックすると、下記のような画面になるので、Specific rolesの下の方にあるAddでSubscriberを選択肢、URLにリダイレクトさせたいURLを入力します。
すると、購読者はログインしたらサイトのTOPへ行き、管理者はダッシュボードへ行くようになります
3.
しかし、あることに気が付きます…
購読者が特定のページへ行きたいな~と思い、そのURLを張りつけても、リダイレクトされるのはTOPページだけ…再度URLを入力するのが面倒だということです。
この点、ピーターはすごい気がつく人です。
この同じ管理画面の一番下に
Allow a POST or GET “redirect_to” variable to take redirect precedence
という項目がありますから、それをYesにします。
これで、運用はバッチリですね!!