会員制サイトや、ウェブシステムをWordPressで作るとき、そもそも全てのコンテンツを誰にも見せたくない時。
まず、プラグインを使うときは、 Theme My Login を導入。 Theme My Login は、ログイン画面をWordPressが用意したものではなく、オリジナルのログイン画面にすることができます。
ただ、それだけではなく、ログインしなければサイトが閲覧できないようにもできる機能があります。
使い方はいたって簡単。
サイトを見るにはログインしなければなりません にチェックをつけるだけ。
プラグインを使わなくても、function.php に、
add_action( 'get_header', 'require_login' );
function require_login(){
if(!is_user_logged_in()){ //ログインしてなければ
auth_redirect(); //ログインページへリダイレクト
exit;
}
}
と入れておけばOK。 もし、特定のページだけ隠したいとかなら、
add_action( 'get_header', 'require_login' );
function require_login(){
if(!is_user_logged_in() && is_single()){ //ログインしてなくて、投稿ページ(シングルページ)なら
auth_redirect(); //ログインページへリダイレクト
exit;
}
}
のように、条件をつければOK。
条件については、こちら↓を参照。