WP-membersで記事一覧ページを会員にしか見せないようにする

こんにちわ、@taichi_kimuraです。

会員制サイトを作るのに便利な「WP-Members Membership Plugin」ですが、デフォルトのままですと記事一覧ページ、アーカイブページは会員でない(ログインしていない)ユーザーでも閲覧できてしまいます。

タイトルを見せて会員になることを促すようなサイトであれば良いのですが、タイトルすら見せたくない場合は困ってしまいますね。

簡単な方法で対応できますので、参考にしてみてください。

前提条件

今回の説明は会員向けの情報をWordpressのカスタム投稿タイプで投稿する仕様を前提としております。

WP-membersで記事一覧ページを見せないようにするコード

//WP-members使用時にてカスタム投稿タイプの一覧ページもログイン画面を出す
function un_logged_in_user_redirect() {
    if( ! is_user_logged_in()  && is_archive('カスタム投稿タイプのスラッグ') ) {
        wp_redirect( '/login' );// ログインページのURL
        exit();
    }
}
add_action( 'template_redirect','un_logged_in_user_redirect');

上記コードをfunction.phpに追記してください。

WP-membersで記事一覧ページを見せないようにするコードの説明

ユーザーがログインしていない時【if( ! is_user_logged_in()】にカスタム投稿タイプのアーカイブページにアクセスしたら、ログインページにリダイレクトする。

ということを書いています。

記事ページへ直接アクセスした場合はWP-membersの判定が働くので特に指定してません。
試して無いけど、カスタム投稿タイプのアーカイブを「false」にしたら動かないかも..?

ちなみに、通常のログインフォームと出し分けないなら、固定ページを作ってショートコードを貼ればいいでしょう。

ログインのショートコードは、

[wpmem_form login]

です。

では、楽しいWordpress Lifeを!

この記事を書いた人

木村 太一

ドットワンの代表です。1979年生まれ。3女の父。ゴルフと筋トレが趣味。立川にあるキヤノン代理店に就職後、1万件以上飛び込み営業したのち独立。たくさんの企業を見てきた経験と自分自身も零細企業の経営者ということを活かし、相手の立場に立ったITコンサルを行っております。