WordPressで手軽に会員の閲覧領域を作るにはどうしたら良いのだろうか?
会員専用のページがカスタム投稿の一覧表示する固定ページの場合、まずはカスタム投稿タイプ、'member' の投稿だけ一覧表示する為の、固定ページ用のテンプレートファイルを作ります。ファイルの名前は何でもいいんですけど、とりあえず member.php としました。
固定ページ用のテンプレートファイルなので、Template Name を指定するのを忘れずに!
member.php
<?php
/*
Template Name: member
*/
?>
この下はブログ用のテンプレートをもとに編集しました。
'post_type' => 'post'を'post_type' => 'member'に変えることが一番大事!
すると固定ページのテンプレートでmember を選択できるようになりました!
次に認証のさせ方。
auth_redirect()を使う
実はauth_redirect()を使うと、“ログインしていないユーザーは強制的にログイン画面へ遷移させる”ということができる。これは会員のみ閲覧させたいページの最上部に記述することで実現できる。会員専用のテンプレートファイルに以下のコードを記述する。
<?php if (is_user_logged_in()){
}else {auth_redirect();
}; ?>
必ず最上部で読み込むようにすること。
さて、これでログインしていない場合はWordPressの管理画面のTOPに遷移するようになるけど、このままだともろWordPressのロゴなので、ロゴを変更してあげるとより良いかも。
function.phpに記入
<?php
function login_logo() {
echo '<style type="text/css">
#login h1 a {
background: url('.get_bloginfo('template_directory').'/img/logo-3d-3-s.png) no-repeat;
width: 320px;
height: 43px;
}
</style>';
}
add_action('login_head', 'login_logo');
?>
参考サイト